Picture processing apparatus, using screen change parameters representing a high degree of screen change

ABSTRACT

An MPEG1 real time encoder board generates index data as an evaluation value representing the complexity of a picture. A scene change parameter representing the degree of a scene change occurring in the picture is then calculated from the index data. The scene change parameter is associated with a scene change pointer, that is, position information on a location of the picture in which a scene change occurs to a degree indicated by the scene change parameter. The scene change parameter and the scene change pointer are recorded as an index in an index file. On the other hand, an MPEG system stream output by the MPEG1 real time encoder board is stored in an MPEG file separated from the index file.

BACKGROUND OF THE INVENTION

In general, the present invention relates to a picture processingapparatus, a picture processing method and a recording medium. Inparticular, the present invention relates to a picture processingapparatus, a picture processing method and a recording medium beingcapable of carrying out search of a desired scene with ease.

With the increasing speed and the increasing number of functions of theCPU (Central Processing Unit) as well as the increasing storage capacityof the memory, the hard disc and other recording and storage media alongwith the decreasing price of hardware including the CPU and therecording and the storage media seen in recent years, a high performancecomputer can be implemented at a price that the personal user canafford.

With the popularization of a high performance computer at such a price,there is a rising user demand for computer functions of carrying outvarious kinds of processing such as recording, reproduction and editingof a processing object with a large amount of data such as a picturewhich were impossible so far but can now be implemented through simpleuser operations.

SUMMARY OF THE INVENTION

It is thus an object of the present invention addressing the problemdescribed above to allow various kinds of processing demanded by theuser to be carried out through simple operations.

A picture processing apparatus for processing a picture according to oneembodiment is characterized in that said apparatus comprises:

a computing means for computing a scene change parameter representing adegree of a scene change in said picture; and

a recording means for recording said scene change parameter and positioninformation on a position of said picture with a degree of a scenechange thereof represented by said scene change parameter by associatingsaid scene change parameter with said position information.

A picture processing method for processing a picture according toanother aspect of the invention is characterized in that said methodcomprises the steps of:

computing a scene change parameter representing a degree of a scenechange in said picture; and

recording said scene change parameter and position information on aposition of said picture with a degree of a scene change thereofrepresented by said scene change parameter by associating said scenechange parameter with said position information.

A recording medium for storing a program to let a computer process apicture according to another aspect of the invention is characterized inthat said program prescribes a picture processing method comprising thesteps of:

computing a scene change parameter representing a degree of a scenechange in said picture; and

recording said scene change parameter and position information on aposition of said picture with a degree of a scene change thereofrepresented by said scene change parameter by associating said scenechange parameter with said position information.

A recording medium according to another aspect of the invention ischaracterized in that said medium is used for storing data obtained as aresult of processing a picture in addition to a scene change parameterand position information on a position of said picture with a degree ofa scene change thereof represented by said scene change parameter byassociating said scene change parameter with said position information.

In a picture processing apparatus for processing a picture according tothe invention,

a computing means computes a scene change parameter representing adegree of a scene change in said picture; and

a recording means records said scene change parameter and positioninformation on a position of said picture with a degree of a scenechange thereof represented by said scene change parameter by associatingsaid scene change parameter with said position information.

A picture processing method for processing a picture according toanother aspect of the invention comprises the steps of:

computing a scene change parameter representing a degree of a scenechange in said picture; and

recording said scene change parameter and position information on aposition of said picture with a degree of a scene change thereofrepresented by said scene change parameter by associating said scenechange parameter with said position information.

A recording medium according to another aspect of the invention is usedfor storing a program to let a computer process a picture wherein saidprogram prescribes a picture processing method comprising the steps of:

computing a scene change parameter representing a degree of a scenechange in said picture; and

recording said scene change parameter and position information on aposition of said picture with a degree of a scene change thereofrepresented by said scene change parameter by associating said scenechange parameter with said position information.

A recording medium according to another aspect of the invention is usedfor storing data obtained as a result of processing a picture inaddition to a scene change parameter and position information on aposition of said picture with a degree of a scene change thereofrepresented by said scene change parameter by associating said scenechange parameter with said position information.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments of the present invention will be described byreferring to the following diagrams wherein:

FIG. 1 is a diagram showing a perspective view of a typicalconfiguration of an embodiment implementing a personal computer to whichthe present invention is applied;

FIG. 2 is a diagram showing a perspective view of a typicalconfiguration of an embodiment implementing a personal computer to whichthe present invention is applied;

FIG. 3 is a diagram showing a front view of a main unit 31 of thepersonal computers shown in FIGS. 1 and 2;

FIG. 4 is a diagram showing a rear view of the main unit 31 shown inFIG. 3;

FIG. 5 is a diagram showing a typical electrical configuration of thepersonal computer shown in FIGS. 1 and 2;

FIG. 6A and 6B are diagrams showing a typical configuration of an MPEG1real time encoder board 213 employed in the personal computer shown inFIG. 5;

FIG. 7 is a diagram showing a slip recorder main window 301;

FIG. 8 is a diagram showing a tape setting dialog box 321;

FIG. 9A and 9B are diagrams used for explaining normal and endlesstapes;

FIG. 10 is a table showing specifications for a variety of videorecording modes;

FIG. 11 shows a flowchart representing a recording process wherein anormal tape has been set as a tape used in the recording process;

FIG. 12 shows a flowchart representing a recording process wherein anendless tape has been set as a tape used in the recording process;

FIG. 13 shows a flowchart representing an index recording process torecord index data in an index file;

FIG. 14 is a diagram showing a typical format of index data;

FIG. 15 is a diagram showing a playback window 341;

FIG. 16 is a diagram used for explaining a lapsing period of time, aremaining period of time and a recording point of time;

FIG. 17 shows a flowchart representing a slip playback process;

FIG. 18 is a block diagram used for explaining processing carried out byexecution of a slip recorder application program;

FIG. 19 is a diagram showing variations of a scene change parameter withthe lapse of time;

FIG. 20 shows a flowchart representing processing carried out by acontroller 133;

FIG. 21 is a diagram showing a clip editor main window 361;

FIG. 22 is a diagram showing an index display level setting dialog box381;

FIG. 23 shows a flowchart representing an index screen displayingprocess for displaying index screens on a source window 362, and

FIG. 24 shows a clip viewer main window 401.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention will become more apparent from a careful study ofthe following detailed description of some preferred embodiments withreference to the accompanying diagrams. Before starting the description,in order to clarify the relation between a variety of means cited inclaims of the patent specification and the embodiments, characteristicsof the present invention are explained by appending an embodiment toeach means corresponding to the embodiment as a phrase expressed in aform ‘implemented typically by an embodiment’ enclosed in parentheses asfollows.

A picture processing apparatus for processing a picture according to theinvention is characterized by comprising:

a computing means (implemented typically by an embodiment such as aprocessing step S34 of a program shown in FIG. 13) for computing a scenechange parameter representing a degree of a scene change in saidpicture; and

a recording means (implemented typically by an embodiment such as aprocessing step S36 of the program shown in FIG. 13) for recording saidscene change parameter and position information on a position of saidpicture with a degree of a scene change thereof represented by saidscene change parameter by associating said scene change parameter withsaid position information.

According to one aspect, a picture processing apparatus is furthercharacterized by also having:

a threshold value setting means (implemented typically by an embodimentsuch as an index display level setting dialog box 381 shown in FIG. 22)for setting a threshold value of said scene change parameter; and

a display means (implemented typically by an embodiment such as a sourcewindow 362 shown in FIG. 21) for displaying a screen of said picture ata position indicated by said position information associated with saidscene change parameter representing a degree of a scene change equal toor higher than said threshold value set by using said threshold valuesetting means.

According to another aspect, a picture processing apparatus is furthercharacterized by also having:

a scene change parameter count setting means (implemented typically byan embodiment such as the index display level setting dialog box 381shown in FIG. 22) for setting a scene change parameter count; and

a display means for displaying screens (implemented typically by anembodiment such as the source window 362 shown in FIG. 21) of saidpictures at positions indicated by pieces of said position informationassociated with said scene change parameters representing highestdegrees of scene changes wherein the number of screens to be displayeddoes not exceed said scene change parameter count set by using saidscene change parameter count setting means.

According to another aspect, a picture processing apparatus is furthercharacterized by also having:

a range setting means (implemented typically by an embodiment such asthe index display level setting dialog box 381 shown in FIG. 22) forsetting a range to be searched for a scene change parameter representinga highest degree of a scene change among scene changes in said range;and

a display means (implemented typically by an embodiment such as thesource window 362 shown in FIG. 21) for searching each range set by saidrange setting means for a specific scene change parameter representing ahighest degree of a scene change among scene changes in said range anddisplaying a screen of said picture at a position indicated by saidposition information associated with said specific scene changeparameter.

The picture processing apparatus may be further characterized by alsohaving:

a detection means (implemented typically by an embodiment such as aprocessing step S35 of the program shown in FIG. 13) for detecting ascene change parameter representing a degree of a scene change equal toor higher than a predetermined level; and

a display means (implemented typically by an embodiment such as a scenechange indicator 303 shown in FIG. 7) for displaying detection of ascene change parameter representing a degree of a scene change equal toor higher than said predetermined level.

According to one aspect, the picture processing apparatus is furthercharacterized by also having an encoding means (implemented typically byan embodiment such as an MPEG1 real time encoder board 213 shown in FIG.5) for encoding said picture to be recorded by said recording means.

It should be noted that, of course, the embodiments appended to themeans associated with the embodiments are not intended to be construedin a limiting sense. That is to say, implementation of a means is notlimited to the embodiment appended to the means.

FIGS. 1 and 2 are diagrams each showing a typical configuration of anembodiment implementing a personal computer to which the presentinvention is applied.

As shown in the figures, the personal computer comprises a main unit 31,a keyboard 21 as well as a mouse 22 operated by the user for entering acommand to the main unit 31 and a display apparatus 51 for displaying apicture.

The main unit 31 is of the so-called mini tower type with a typicalwidth of 225 mm, a typical height of 367.9 mm and a typical depth of451.5 mm. A right front corner surface 32 is provided between a frontsurface and a right side surface, diagonally crossing the corner betweenthe front surface and the right side surface. By the same token, a leftfront corner surface 33 is provided between the front surface and a leftside surface, diagonally crossing the corner between the front surfaceand the left side surface. At the upper portion of the right frontcorner surface 32, a power supply button 34 is provided. The powersupply button 34 is operated to turn on and off the power supply of themain unit 31.

A dent 35 is provided on the top surface of the main unit 31 at aposition which will coincide with the feet of a peripheral unitconnected to the main unit 31 to be mounted thereon. When the peripheralunit is mounted on the main unit 31, the feet of the peripheral unit areplaced in the dent 35 so that the feet of peripheral unit are engagedwith the dent 31 of the main unit in a stable state.

The front surface of the main unit 31 comprises a lower panel 36 and anupper panel 37. The lower panel 36 is normally pushed in the outwarddirection to protrude outward by a force of a spring not shown in thefigure. The user can press the lower panel 36 from the outwardlyprotruding state in a direction toward the inside of the main unit 31 toa dented state, resisting the force of the spring. The upper panel 37can be moved up and down freely along right and left guides 45. With thelower panel 36 in a protruding state, the motion of the upper panel 37in the downward direction is blocked by the lower panel 36.

When using the main unit 31, the user presses the lower panel 36 fromthe outwardly protruding state in a direction toward the inside of themain unit 31 to a dented state, resisting the force of the spring. Withthe lower panel 36 put in a dented state, the restriction of the motionof the upper panel 37 in the downward direction is removed, allowing theupper panel 37 to be slided in the downward direction along the guides45. As a result, an FDD (Floppy Disc Drive) 41, a CD-ROM (Compact DiscRead-Only Memory)/CD-R (Compact Disc Recordable) drive 42 and an AV(Audio Visual) terminal unit 43 embedded in the main unit 31 are put ina state exposed to the user as shown in FIG. 2. The CD-ROM (Compact DiscRead-Only Memory)/CD-R (Compact Disc Recordable) drive 42 is referred tohereafter simply as a CD drive.

It should be noted that the main unit 31 also has an extension unit 44for allowing other predetermined apparatuses to be installed thereon.

When the use of the personal computer is finished, the user puts afinger thereof on a dent 38 created on the upper portion of the upperpanel 37 and moves the upper panel 37 in the upward direction. As theupper panel 37 moves in the upward direction along the guides 45,reaching a predetermined position, the lower panel 36 is restored to theoutwardly protruding state by the force of the spring. In this state,the motion of the upper panel 37 in the downward direction is againblocked by the lower panel 36.

As described above, the right front corner surface 32 and the left frontcorner surface 33 each having a taper shape are provided on the cornersbetween the right side surface and the front surface and the left sidesurface and the front surface respectively in order to make the width ofthe main unit 31 looks narrow. In addition, the upper panel 37 providedas part of the front surface of the main unit 31 can be slided freelyand serves as a protector of devices accommodated in the main unit 31.When the personal computer is not used, the upper panel 37 is put in astate of concealing the accommodated devices by putting them in anunexposed state. As a result, a flat and simple design image can beimplemented.

Taking the potential application to the future AV equipment, the upperpanel 37 is designed so that it can be modified into a drawer or rotarytype.

Basically, the display apparatus 51 comprises a base 52 and a displayunit 53 which is provided in such a way that it can be freely moved inthe horizontal direction (pan direction) and the vertical direction(tilt direction) with respect to the base 52. On the front portion ofthe base 52, a dent 54 is provided.

As the front surface of the display unit 53, a CRT (Cathode Ray Tube) 55is provided. The CRT 55 serves typically as a high precision 17-inchtrinitron monitor. On the right front corner between the right sidesurface of the display unit 53 and the CRT 55, a right front cornersurface 56 having a taper shape is provided. On the inner side of theright front corner surface 56, a lower speaker 59 and an upper speaker60 are provided. By the same token, on the left front corner between theright side surface of the display unit 53 and the CRT 55, a left frontcorner surface 56 having a taper shape is also provided and, on theinner side of the left front corner surface 57, a lower speaker 59 andan upper speaker 60 are provided as well. With such components provided,reproduction of a high quality picture and loud high quality stereosound can be realized.

On the front portion of the top of the display unit 53, a microphone 24is provided. The microphone 24 is used for inputting voice of the user.In conjunction with the speakers 59 and 60, the microphone 24 can beused for implementing, for example, a hands free phone.

At the center of the top of the display unit 53, a groove 58 isprovided. The groove 58 is used for accommodating a cord of themicrophone 24. When a television camera of a television telephone ismounted on the display apparatus 51, the cord of the television cameracan also be accommodated in the groove 58.

FIG. 3 is a diagram showing a typical detailed configuration of thefront surface of the main unit 31.

As shown in the figure, a power supply lamp 61 is provided above thepower supply button 34 described earlier. The power supply lamp 61lights up to indicate that the power supply has been turned on. When thepower supply is off, on the other hand, the power supply lamp 61 diesout. Beneath the power supply button 34, a hard disc access lamp 63 isprovided. As will be described later, the main unit 31 has an embeddedhard disc 212 as shown in FIG. 5. When an access is being made to thehard disc 212, the hard disc access lamp 63 lights up. Typically, thehard disc access lamp 63 has an orange color.

The FDD 41 is typically a driver for 3.5-inch FD with a storage capacityof 1.44 MB (megabytes), 1.2 MB or 720 KB (kilobytes). On the frontsurface of the FDD 41, a floppy disc drive access lamp 64 and a floppydisc inject button 66 are provided. The floppy disc drive access lamp 64lights up when an access is being made to an FD mounted on the FDD 41.The user presses the floppy disc inject button 66 to take out an FD fromthe FDD 41.

The CD drive 42 reads out data from a CD-ROM disc not shown in thefigure and reads out or writes data from or into a CD-R (CD-R FS) disc211 shown in FIG. 5. It should be noted that the CD drive 42 typicallyreads out data at an 8-time speed and writes data at a double speed.

On the front surface of the CD drive 42, an eject button 68, an ejecthole 69 and an access lamp 70 are provided. The eject button 68 isoperated to draw a tray of the CD drive 42. The eject hole 69 isoperated in case the tray can not be drawn by pressing the eject button68. That is to say, a stick with a sharp end is introduced into theeject hole 69 to draw the tray. The access lamp 70 lights up when anaccess is being made to a CD-ROM or the CD-R disc 211 mounted on the CDdrive 42.

The AV terminal unit 43 comprises an S video input terminal, a videoinput terminal for a composite signal and 2 audio input terminals (pinjacks) for L (left) and R (right) channels. Pictures and sound recordedby a video camera or a VTR (Video Tape Recorder) to be edited by thispersonal computer are entered through the terminals of the AV terminalunit 43.

FIG. 4 is a diagram showing a typical detailed configuration of the rearsurface of the main unit 31.

At the right upper corner of the rear surface of the main unit 31, apower supply input terminal 71 is provided. A power supply cord notshown in the figure is connected to the power supply input terminal 71to supply power to the main unit 31.

At the left upper corner of the rear surface of the main unit 31, akeyboard terminal 72 and a mouse terminal 73 are provided. The keyboardterminal 72 and the mouse terminal 73 are connected to the keyboard 21and the mouse 22 respectively. Beneath the mouse terminal 73, a USB(Universal Serial Bus) terminal 74 is provided. The USB terminal 74 isused for connecting an apparatus conforming to USB specifications to themain unit 31. Below the USB terminal 74, a printer terminal 75 and 2serial terminals 76 are provided. The printer terminal 75 is connectedto a printer or an image scanner. Typically, an infrared communicationadapter is connected to one of the serial terminals 76. That is to say,in this embodiment, by connecting one of the serial terminals 76 to aninfrared adapter which serves as an infrared communication interface,infrared communication can be implemented between the main unit 31 andanother apparatus.

Beneath the printer terminal 75, a game terminal 77 is provided. Thegame terminal 77 is connected typically to a joy stick or a MIDI(Musical Instrument Digital Interface) apparatus.

Below the serial terminal 76, a headphone terminal 78, a line inputterminal 79 and a microphone terminal 80 are provided one beneathanother in an order they are enumerated. Typically, the headphoneterminal 78, the line input terminal 79 and the microphone terminal 80are connected respectively to an external speaker, an audio apparatusand the microphone 24 shown in FIGS. 1 and 2.

It should be noted that, on the right side of each of the terminalsdescribed above, pictures are shown to indicate what device or apparatusis to be connected to the terminal.

Below the microphone terminal 80, a video output terminal 81 for acomposite signal, an S video output terminal 82 and a monitor terminal83 are provided. A composite video signal and an S video signal areoutput from the video output terminal 81 for a composite signal and theS video output terminal 82 respectively. The monitor terminal 83 isconnected to the display apparatus 51.

Beneath the video output terminal 81 for a composite signal, the S videooutput terminal 82 and the monitor terminal 83, an AV terminal unit 84is provided. Much like the AV terminal unit 43 on the front surface, theAV terminal unit 84 comprises an S video input terminal, a video inputterminal for a composite signal and 2 audio input terminals for the Land R channels.

On the right side of the AV terminal unit 84, an antenna terminal 85 isprovided, allowing a television signal typically in a VHF (very HighFrequency) band and in a UHF (Ultra High Frequency) band to be received.

On a further lower part of the rear surface of the main unit 31, a linejack 86 and a telephone jack 87 are provided. The line jack 86 isconnected to a telephone line and the telephone jack 87 is connected totypically a telephone set or a facsimile apparatus.

FIG. 5 is a diagram showing a typical electrical configuration of thepersonal computer shown in FIGS. 1 and 2.

In this embodiment, the personal computer is provided with an embeddedMPEG1 (Moving Picture Experts Group) real time encoder board 213 whichin turn has an embedded TV (Television) tuner 213A. The personalcomputer is also provided with application programs as a standard forcarrying out editing, recording, reproduction as well as MPEG decodingof pictures and other picture processing. The MPEG1 real time encoderboard 213 and the application programs allow the editing of pictures andsound taken by a video camera 214, the creation of a video CD forrecording pictures and sound obtained as a result of the editing andother processing to be carried out with ease. In addition, a televisionbroadcast program received by the TV tuner 213A can also be recordedwith ease and other processing can be carried out easily as well. On thetop of that, while a television broadcast program received by the TVtuner 213A is being recorded, any arbitrary scene of an already recordedvideo signal or pictures can be played back with ease.

To put it in detail, a microprocessor 201 carries out editing,recording, reproduction as well as MPEG encoding of pictures and otherpredetermined picture processing by execution of a variety ofapplication programs stored in the hard disc 212 under control of anoperating system such as Windows 95 (trademark) made by Microsoft whichis also stored in the hard disc 212. As the microprocessor 201, thePentium II processor of Intel with a frequency of 266 MHz and anembedded secondary cache memory of 512 KB not shown in the figure isemployed. The Pentium II processor is the Pentium Pro processor alsomade by Intel with an MMX technology and a facility to generateoptimized 16-bit code added thereto. Provided with such a processor, thepersonal computer is capable of displaying a high performance even whenprocessing a large amount of picture and sound data. It should be notedthat Pentium and MMX are trademarks.

A main memory unit 202 is used for storing a program to be executed bythe microprocessor 201 and data required in operations carried out bythe microprocessor 201. As a standard, the main memory unit 202 has astorage capacity of typically 32 MB which allows processing of, forexample, a picture with a large amount of data to be carried out at ahigh speed. It should be noted that the storage capacity of the mainmemory unit 202 can be increased up to typically 128 MB by memoryextension.

A bus bridge 204 controls exchanges of data between an internal bus andan extension bus such as a PCI (Peripheral Component Interconnect) localbus or an ISA (Industry Standard Architecture) bus.

The microprocessor 201, the main memory unit 202 and the bus bridge 204are connected to each other by the internal bus. On the other hand, theremaining blocks are connected to each other by the extension bus. Itshould be noted that the bus bridge 204 is connected to both theinternal bus and the extension bus.

As a modem 206, a 33.6-Kbps (bits per second) DSVD/DATA/FAX modem isemployed. The modem 206 controls communication through a telephone line.The modem 206 receives a picture and sound from a source such as theInternet to be subjected to processing such as encoding and editing. Onthe other hand, the modem 206 is also capable of transmitting a pictureand sound completing processing such as encoding and editing to anexternal destination. In addition, the modem 206 transmits sound inputthrough the microphone 24 and receives incoming sound to output to thespeakers 59 and 60, allowing a hands free phone to be implemented. Itshould be noted that, when the modem 206 is used as a FAX modem, thetransfer rate is set at 14.4 Kbps.

An I/O (input/output) interface unit 207 generates an operation signalrepresenting an operation carried out by the user on the keyboard 21 orthe mouse 22. In addition, the I/O interface unit 207 also functions asan interface for receiving an electrical signal as an audio signaloutput by the microphone 24.

An auxiliary storage interface unit 210 functions as an interface ofreading out and writing data from and onto recording media such as theCD-R (Compact Disc Recordable) disc 211, a CD-ROM disc not shown in thefigure, the HD (hard disc) 212 and an FD also not shown in the figure.

On the CD-R disc 211, pictures and sound encoded by the MPEG1 real timeencoder board 213 is stored, allowing a user original video CD to bemade. It should be noted that the CD drive 42 is also capable ofhandling a CD-R FS disc. Data of up to about 650 MB can be stored in theCD-R disc 211 whereas a CD-R FS disc is capable of storing data of up toonly about 520 MB.

The hard disc 212 has a typical storage capacity of 4.3 GB (gigabytes)which is capable of keeping up with a high speed bus master IDE(Integrated Drive Electronics) transfer. The hard disc 212 is used forstoring typically data obtained as a result of compression and encodingcarried out by the MPEG1 real time encoder board 213 and data requiredin processing carried out by the microprocessor 201. It should be notedthat the main unit 31 is designed to allow an SCSI (Small ComputerSystem Interface) board to be installed therein. With the SCSI boardinstalled, a hard disc drive having an SCSI interface can be added.

In addition, the hard disc 212 is also used for storing an operatingsystem as well as software including application programs to be executedby the microprocessor 201 to carry out processing such as recording,reproduction, editing and decoding of pictures.

As an application program for the so-called video creation throughprocessing such as recording, reproduction and editing of pictures, asoftware called Slipclip is installed.

The Slipclip software comprises 5 application programs called as a Sliprecorder, a clip editor, a clip viewer, a video CD creator and a videoCD copy tool.

The slip recorder is executed to record a picture and sound or to playback a recorded picture and sound. The clip editor is executed to edit arecorded picture and its accompanying sound. The clip viewer is executedto administer recorded pictures and sound. A video CD creator isexecuted to record an edited picture or other data onto a CD-R disc 211in order to make a video CD. The video CD copy tool is executed to makea copy video CD of a video CD made earlier.

It should be noted that, in the present embodiment, only a pictureobtained as a result of editing work done in the main unit 31 can becopied in order to prevent a so-called pirate disc from being madeillegally.

Among the slip recorder, the clip editor, the clip viewer, the video CDcreator and the video CD copy tool, only the slip recorder, the clipeditor and the clip viewer relate to recording, reproduction and editingof a picture in particular and will be explained one after anotherlater.

In the hard disc 212, there is further stored an application program tobe executed by the microprocessor 201 to decode data encoded by theMPEG1 real time encoder board 213 typically in conformity with MPEG1specifications. Thus, in this case, a picture is encoded by hardware anddecoded by software. It should be noted that a picture can also beencoded by software and decoded by hardware.

The encoder board 213, strictly speaking, the MPEG1 real time encoderboard 213, encodes a picture and sound in a real time manner typicallyin conformity with the MPEG1 specifications. To be more specific, theMPEG1 real time encoder board 213 is capable of encoding a picture andsound in 4 different video recording modes including a mode of encodingat a high bit rate for high quality picture recording and a mode ofencoding at a low bit rate for transmission. As will be described later,enumerated in an order of decreasing bit rates, the video recordingmodes are “High”, “Normal”, “Long” and “Network”. It should be notedthat the normal video recording mode conforms to video CDspecifications. When pictures and sound are encoded in this videorecording mode, recording of about 100 minutes per 1 GB can be carriedout.

As described above, the MPEG1 real time encoder board 213 has anembedded TV tuner 213A for receiving a television broadcast program. Aprogram received by the TV tuner 213A is subjected to MPEG encoding inthe MPEG1 real time encoder board 213. In addition, the MPEG1 real timeencoder board 213 is also capable of encoding data supplied thereto byway of the extension bus, data supplied thereto by way of the AVprocessing Circuit 215 and data supplied thereto from an externalapparatus such as the video camera 214. An example of data suppliedthereto by way of the AV processing circuit 215 is a picture played backby the VTR 216.

It should be noted that the TV tuner 213A allows typically 62 channels,from Channel 1 to Channel 62, to be selected. AS for its audio facility,stereo and bilingual programs can be received.

The video camera 214 is used typically for taking a picture to besupplied to the MPEG1 real time encoder board 213. It should be notedthat the MPEG1 real time encoder board 213 also has a function forinterfacing with the video camera 214, allowing a picture and soundtaken by the video camera 214 to be supplied to the MPEG1 real timeencoder board 213.

The AV processing circuit 215 comprises components including a VGA(Video Graphic Array) and a 3-dimensional accelerator which are notshown in the figure. The AV processing circuit 215 carries outprocessing required for displaying graphics and other information on thedisplay apparatus 51. In addition, the AV processing circuit 215 alsocarries out processing required for outputting sound to the speakers 59and 60. The AV processing circuit 215 has an embedded NTSC encoder 215Awhich is used for converting a picture into one conforming to the NTSCsystem before outputting the picture to typically the VTR 216.

The AV processing circuit 215 is connected to the MPEG1 real timeencoder board 213 typically by an AMC bus. The MPEG1 real time encoderboard 213 is designed so that a picture subjected to MPEG encoding isonce stored in a frame memory unit 110 shown in FIG. 6. The frame memoryunit 110 will be described more later. When an instruction to monitor apicture subjected to MPEG encoding is received, the picture is read outfrom the frame memory unit 110 and supplied from the MPEG1 real timeencoder board 213 to the AV processing circuit 215 by way of the AMCbus. The AV processing circuit 215 then displays the picture on thedisplay apparatus 51.

To put it in detail, the AV processing circuit 215 draws a drawing on aVRAM (Video RAM (Random Access Memory)) unit 203 and outputs the drawingto the display apparatus 51.

The VTR 216 records pictures and sound output by the AV processingcircuit 215 if necessary.

FIG. 6 is a diagram showing a typical configuration of the MPEG1 realtime encoder board 213 employed in the personal computer shown in FIG.5. It should be noted that FIG. 6 shows only blocks relating to MPEGencoding. Other blocks such as blocks constituting the TV tuner 213A areomitted from the figure. Speaking more strictly, FIG. 6 shows onlyblocks relating to MPEG encoding of a picture. Blocks relating to MPEGencoding of sound are also omitted from the figure.

Digital picture data of 1 frame composed of a predetermined number ofpixels is supplied to an input terminal 101 at a typical transfer rateof about 30 frames per second.

Picture data supplied through the input terminal 101 is temporarilystored in the memory frame unit 110 which is capable of storing aplurality of frames of picture data, typically, 27 frames of picturedata, so that the frames can be rearranged into a predetermined order.The picture data is then supplied to a block divider 111 and a motiondetector 120. The block divider 111 divides a frame of the picture datasupplied from the memory frame unit 110 into luminance components oftypically 8×8 pixels and blocks of chroma components Cb and Cr. Amacroblock (MB) comprises a total of 6 blocks, namely, 4 luminancecomponent blocks and 1 Cb chroma component block as well as 1 Cr chromacomponent block which are associated with the 4 luminance componentblocks.

The block divider 111 supplies the picture data to a subtractor 112 inmacroblock units. The subtractor 111 computes a difference between thepicture data supplied by the block divider 111 and interframe predictedpicture data to be described later and supplies the difference to aswitched terminal b of a change-over switch 113 as data of a framesubjected to interframe prediction encoding also to be described later.On the other hand, picture data output by the block divider 111 issupplied to a switched terminal a of the change-over switch 113 as dataof a frame subjected to intraframe prediction encoding also to bedescribed later.

The change-over switch 113 selects either the switched terminal a or band picture data supplied to the selected switched terminal is passed onto a DCT (discrete cosign transformation) circuit 114 in block units.The DCT circuit 114 carries out DCT processing on picture data passed onthereto and outputs a DCT coefficient obtained as a result of the DCTprocessing to a quantizer 115. The quantizer 115 quantizes the DCTcoefficient supplied thereto by the DCT circuit 114 at a predeterminedquantization step and outputs a quantized coefficient obtained as aresult of the quantization to a zigzag scan circuit 116.

The zigzag scan circuit 116 carries out zigzag scanning on quantizedcoefficients of each block and outputs the scanned coefficients to a VLC(Variable Length Code) circuit 117 in the scanning order. The VLCcircuit 117 carries out VLC processing on the quantized coefficientssupplied thereto by the zigzag scan circuit 116 and supplies variablelength encoded data obtained as a result of the VLC processing to anoutput buffer 118. The output buffer 118 has a storage capacity oftypically 160 KB. By temporarily storing the variable length encodeddata received from the VLC circuit 117, the output buffer 118 carriesout a function of mainly smoothing of the amount of data to be output toan output terminal 102. Data appearing at the output terminal 102 issupplied typically to the hard disc 212 to be stored therein.

In addition, the output buffer 118 also supplies information on theamount of data stored temporarily therein to a quantization stepcontroller 119. The quantization step controller 119 sets thequantization step at such a value that neither overflow nor underflowoccurs in the output buffer 118 and outputs the value of thequantization step to the quantizer 115. As described above, thequantizer 115 quantizes a DCT coefficient supplied thereto by the DCTcircuit 114 at a predetermined quantization step, that is, aquantization step supplied by the quantization step controller 119.

On the other hand, the quantizer 115 also supplies a quantizedcoefficient to an inverse quantizer 126 in addition to the zigzag scancircuit 116 described above. The inverse quantizer 126 carries outinverse quantization on the quantized coefficient supplied by thequantizer 115 and supplies a DCT coefficient obtained as a result of theinverse quantization to an inverse DCT circuit 125. The inverse DCTcircuit 125 carries out inverse DCT processing on the DCT coefficientand outputs data obtained as a result of the inverse DCT processing toan adder 124. Also supplied to the adder 124 is interframe predictedpicture data supplied by a motion compensator 121 by way of a turned onchange-over switch 123 which is turned on when a frame subjected tointerframe prediction encoding is processed. The adder 124 adds the dataoutput by the inverse DCT circuit 125 to the interframe predictedpicture data supplied by the motion compensator 121 and outputs the sumto a frame memory unit 122.

The motion compensator 121 compensates data stored in the frame memoryunit 122 for a motion in accordance with a motion vector output by themotion detector 120. Interframe predicted picture data obtained as aresult of the compensation is supplied to the subtractor 112 asdescribed earlier and the change-over switch 123.

Frames composing a picture, strictly speaking, a moving picture, to beencoded are arranged in a display order starting with the head asfollows: I0, B1, B2, P3, B4, B5, P6, B7, B8, I9, B10, B11, B12, - - - .The symbols I, P and B indicate that frames denoted thereby are an Ipicture, a P picture and a B picture respectively and a number appendedto a symbol indicates a position in the display order.

In the MPEG system, first of all, a picture I0 is encoded. Then, apicture P3 is supposed to be encoded. In this case, however, instead ofencoding the picture P3 itself, a difference between the pictures P3 andI0 is encoded. Subsequently, a picture B1 is supposed to be encoded,however, instead of encoding the picture B1 itself, a difference betweenthe pictures B1 and I0 or P3 or a difference between the picture B1 andan average of the pictures I0 and P3 is encoded. In this case, one isselected among the picture I0, the picture P3 and the average of thepictures I0 and P3 so that a so-called predicted residual obtained as aresult of the encoding is minimum. That is to say, the encoding of adifference between the picture B1 and the selected one results in datawith a minimum amount.

After the encoding of the picture B1, a picture B2 is supposed to beencoded, however, instead of encoding the picture B2 itself, adifference between the pictures B2 and I0 or P3 or a difference betweenthe picture B2 and an average of the pictures I0 and P3 is encoded. Inthis case, one is selected among the picture I0, the picture P3 and theaverage of the pictures I0 and P3 so that the so-called predictedresidual obtained as a result of the encoding of a difference betweenthe picture B2 and the selected one results in data with a minimumamount.

Subsequently, a picture P6 is supposed to be encoded, however, insteadof encoding the picture P6 itself, a difference between the pictures P6and P3 is encoded. Thereafter, encoding is carried out by following thesame procedure.

A picture supposed to be encoded and a partner picture whose differencefrom the picture supposed to be encoded is actually encoded form a pair.Such pairs are listed in the following table in an encoding order.

Partner Encoding order Picture to be encoded picture  1 I0 —  2 P3 I0 orP3  3 B1 I0 or P3  4 B2 I0 or P3  5 P6 P3  6 B4 P3 or P6  7 B5 P3 or P6 8 P9 P6  9 B7 P6 or P9 10 B8 P6 or P9 11 I9 — 12 P12 I9 13 B10 I9 orP12 14 B11 I9 or P12 — — —

As shown in the above table, the encoding order is I0, P3, B1, B2, P6,B4, B5, P9, B7, B8, I9, P12, B10, B11, - - - and, thus, different fromthe display order. Data after the encoding is output in such an order.

It should be noted that, in the case of a P picture or a B picture, asdescribed above, it is normal to encode a difference between the Ppicture or the B picture from another picture. If the amount of dataobtained as a result of the encoding of the picture itself is smallerthan that obtained as a result of encoding the difference, nevertheless,the picture itself is encoded.

In the MPEG1 real time encoder board 213 shown in FIG. 6, encoding iscarried out an described above.

Thus, in an operation to encode the first picture I0, data of thepicture is read out from the frame memory unit 110 and supplied to theblock divider 111 to be divided into blocks. To be more specific, thedata of the picture is divided by the block divider 111 in a blockingprocess into the 4 luminance blocks and the Cb and Cr chrominance blocksdescribed earlier which are output sequentially one block after another.In an operation to encode an I picture, the change-over switch 113 isset at the switched terminal a. Thus, picture data output by the blockdivider 111 is supplied to the DCT circuit 114 by way of the change-overswitch 113. In the DCT circuit 114, picture data supplied thereto inblock units is subjected to vertical horizontal 2 dimensional DCTprocessing. As a result, picture data on the time axis is converted intoDCT coefficients of data on a frequency axis.

The quantizer 115 quantizes a DCT coefficient supplied thereto by theDCT circuit 114 at a quantization step determined by the quantizationstep controller 119 and outputs a quantized coefficient obtained as aresult of the quantization to the zigzag scan circuit 116. The zigzagscan circuit 116 carries out zigzag scanning on quantized coefficientsof each block and outputs the scanned coefficients to the VLC circuit117 in the scanning order.

The VLC circuit 117 carries out variable length coding processing suchas Huffman coding on the quantized coefficients supplied thereto by thezigzag scan circuit 116 and supplies variable length encoded dataobtained as a result of the variable length coding processing to theoutput buffer 118 to be stored therein temporarily. Then, the variablelength encoded data is output by the buffer 118 at a fixed bit rate.Thus, the output buffer 118 plays the role of a so-called buffer memoryallowing data generated irregularly to be output at a fixed bit rate.

As described above, the picture I0, an I (intra) picture, is encodedalone without involving other pictures in the encoding. Such encoding ofa picture alone without involving other pictures is referred tohereafter as intraframe encoding. It should be noted that a picturecompleting infraframe encoding is decoded in accordance with a reversedprocedure opposite to the procedure described above.

Next, the encoding of the second picture P3 is described. The second andsubsequent pictures can also be encoded as an I picture. By doing so,however, the compression ratio of the encoding will be low. In order tosolve this problem, utilizing the fact that correlation amongconsecutive pictures exists, the second and subsequent pictures areencoded as follows.

The motion detector 120 detects a portion of the first picture I0 thatwell resembles one of macroblocks composing the second picture P3 foreach of the macroblocks. A vector representing a shift in positionalrelation between a macroblock and a portion that well resembles themacroblock is detected as a motion vector. Described in documents suchas the ISO/ISC 11172-2 annex D.6.2, the method of detecting a motionvector is not described in this specification.

As for the second picture P3, instead of supplying its blocks to the DCTcircuit 114 as they are, a difference between a P3 block and a blockobtained from the first picture I0 as a result of motion compensationcarried out by the motion compensator 121 in accordance with a motionvector of the block is computed by the subtractor 112 for each block andsupplied to the DCT circuit 114 by way of the change-over switch 113.

In this case, if the correlation between a block obtained as a result ofmotion compensation of the first picture I0 in accordance with a motionvector and a block of the second picture P3 is good, the differencebetween the blocks is small. In this case, the amount of data obtainedas a result of encoding the difference is smaller than the amount ofdata obtained as a result of intraframe encoding of a block of thesecond picture P3.

The technique of encoding a difference between blocks is referred tohereafter as interframe encoding.

It should be noted, however, that the amount of data obtained as aresult of interframe encoding of a difference between 2 blocks is notalways smaller than the amount of data obtained as a result ofintraframe encoding. Depending on the complexity of a picture beingencoded and the degree of correlation between a frame and an immediatelypreceding frame, the amount of data obtained as a result of interframeencoding of a difference between 2 blocks may be adversely larger thanthe amount of data obtained as a result of intraframe encoding,resulting in a higher compression ratio for the latter encoding. In sucha case, the intraframe encoding is preferred and implemented instead. Adecision as to whether interframe encoding or intraframe encoding is tobe carried out can be made for each macroblock.

By the way, in order to carry out interframe encoding, that is, in orderto find a difference between a current picture and the pictureimmediately preceding the current picture, it is necessary to find inadvance a locally decoded immediately preceding picture obtained bylocally decoding encoded data of the immediately preceding picture whichhas been encoded previously as will be described below.

For this reason, the MPEG1 real time encoder board 213 is provided withthe so-called local decoder which comprises the motion compensator 121,the frame memory unit 122, the change-over switch 123, the adder 124,the inverse DCT circuit 125 and the inverse quantizer 126. It should benoted that picture data stored in the frame memory unit 122 is called alocal decoded picture or local decoded data. On the other hand, picturedata before coding is called an original picture or original data.

In an operation to encode the first picture I0, data output by thequantizer 115 is also locally decoded by the inverse quantizer 126 inconjunction with the inverse DCT circuit 125. In this case, thechange-over switch 123 is turned off, causing the locally decoded datato be passed on by the adder 124 as it is to the frame memory unit 122.That is to say, with the change-over switch 123 turned off, the adder124 in essence does not carry out addition on the locally decoded data.

It should be noted that the picture data stored in the frame memory unit122 is not an original picture but a picture obtained as a result ofencoding the original picture and then locally decoding data obtained asa result of the encoding of the original picture. Thus, the picture datastored in the frame memory unit 122 is the same as a picture obtained asa result of decoding carried out by a data decoding apparatus. Obtainedas a result of encoding the original picture and then locally decodingdata obtained as a result of the encoding of the original picture, thepicture data stored in the frame memory unit 122 has a picture qualitypoorer than the original data to a certain degree.

With locally decoded data of the first picture I0 stored in the framememory unit 122, the second picture P3 is supplied from the frame memoryunit 110 to the subtractor 112 by way of the block divider 111 in blockunits. It should be noted that, by this point of time, it is necessaryto end the detection of motion vectors of the picture P3 carried out bythe motion detector 120.

On the other hand, the motion detector 120 supplies a motion vectordetected for each macroblock of the second picture P3 to the motioncompensator 121. The motion compensator 121 carries out MC (motioncompensation) on the already locally decoded picture I0 stored in theframe memory unit 122 in accordance with a motion vector supplied by themotion detector 120. 1 macroblock of MC (motion compensation) dataobtained as a result of the motion compensation is supplied to thesubtractor 112 as interframe predicted picture data.

The subtractor 112 computes a difference between the original data ofeach pixel of the picture P3 supplied thereto through the block divider111 and the corresponding pixel of the interframe predicted picture datasupplied by the motion compensator 121 for each pixel. The differencecomputed by the subtractor 112 is supplied to the DCT circuit 114 by wayof the change-over switch 113. Thereafter, the difference is subjectedto encoding in the same way as an I picture. Thus, in this case, thechange-over switch 113 is set to the switched terminal b.

As described above, in the case of a P (predicted) picture, that is, inthe case of the picture P3 in the above example, basically, an I or Ppicture encoded right before is used as a reference picture to whichmotion compensation is applied to produce a predicted picture, and adifference between the predicted picture and the P picture is thenencoded.

That is to say, in the case of a P picture, for a macroblock, strictlyspeaking, an interframe macroblock, for which the amount of dataobtained as a result of interframe encoding is smaller than thatobtained as a result of intraframe encoding, the change-over switch 113is set to the switched terminal b in order to implement the interframeencoding. For a macroblock, strictly speaking, an intraframe macroblock,for which the amount of data obtained as a result of intraframe encodingis smaller than that obtained as a result of interframe encoding, on theother hand, the change-over switch 113 is set to the switched terminal ain order to implement the intraframe encoding.

It should be noted that a macroblock of a P picture that has completedintraframe encoding is locally decoded and the locally decoded data isstored in the frame memory unit 122 in the same way as an I picture. Onthe other hand, a macroblock of a P picture that has completedinterframe encoding is locally decoded by addition of data passingthrough the inverse quantizer 126 and the inverse DCT circuit 125 tointerframe predicted picture data from the motion compensator 121 passedon by the turned-on change-over switch 123 by means of the adder 124.The locally decoded data output of the adder 124 is then stored in theframe memory unit 122.

Next, encoding of the third picture B1 is explained.

In an operation to encode a B picture, namely, the picture B1 in thiscase, the motion detector 120 detects 2 motion vectors with respect toan I or P picture displayed right before and an I or P picture displayedright after. Thus, in this example, 2 motion vectors of the picture B1with respect to the pictures I0 and P3 are detected. The motion vectorwith respect to the picture I0, an I picture displayed right before thepicture B1, is referred to as a forward vector. On the other hand, themotion vector with respect to the picture P3, an P picture displayedright after the picture B1, is referred to as a backward vector.

The picture B1 is encoded by encoding one selected from the following 4pieces of data which will result in a smallest amount of encoded data.The 4 pieces of data are:

1 A difference between the picture B1 and interframe predicted picturedata obtained as a result of motion compensation of the locally decodedpicture I0 according to the forward vector.

2 A difference between the picture B1 and interframe predicted picturedata obtained as a result of motion compensation of the locally decodedpicture P3 according to the backward vector.

3 A difference between the picture B1 and the average of the 2 pieces ofinterframe predicted picture data in 1 and 2.

4 The picture B1 itself.

When difference 1, 2 or 3 is encoded, that is, when interframe encodingis carried out, necessary motion vectors are supplied by the motiondetector 120 to the motion compensator 121. Interframe predicted picturedata obtained as a result of motion compensation carried out by themotion compensator 121 according to the motion vector is supplied to thesubtractor 112 which then computes the difference between the originaldata of the picture B1 and the interframe predicted picture datasupplied by the motion compensator 121. The difference is supplied tothe DCT circuit 114 by way of the change-over switch 113. Thus, in thiscase, the change-over switch 113 is set to the switched terminal b. Whendata 4 of the picture B1 itself is encoded, that is, when intraframeencoding is carried out, on the other hand, the data, that is, theoriginal data of the picture B1, is supplied to the DCT circuit 114 byway of the change-over switch 113. Thus, in this case, the change-overswitch 113 is set to the switched terminal a.

In the operation to encode the picture B1, which is a B picture, thepictures I0 and P3 have already been encoded, then locally decoded andfinally stored in the frame memory unit 122. Thus, the encoding can beimplemented.

The fourth picture B2 is encoded in the same way as the picture B1. Thatis to say, the description of the encoding of the picture B1 given sofar is applicable to the picture B2 provided that the symbol B1 in thedescription is replaced by the symbol B2.

The fifth picture P6 is encoded in the same way as the picture P3. Thatis to say, the description of the encoding of the picture P3 given sofar is applicable to the picture P6 provided that the symbols P3 and I0in the description are replaced by the symbols P6 and P3 respectively.

The sixth and subsequent pictures are encoded by repeating the encodingprocess described above. It is thus not necessary to repeat thedescription.

By the way, the MPEG1 real time encoder board 213 determines the picturetype of a picture of each screen to be encoded, that is, whether thepicture to be encoded is an I, P or B picture, and determines the macroblock type of a macroblock of each picture to be encoded in accordancewith the amount of data which will obtained as a result of the encodingas described above. However, the amount of data depends on the pictureto be encoded and is thus not known accurately unless the encoding isactually carried out.

By the way, it is basically necessary to set the bit rate of a bitstream obtained as a result of MPEG encoding at a fixed value. As amethod of keeping the bit rate at a fixed value, for example, there is atechnique of controlling the quantization step (the quantization scale)used in the quantizer 115. To put it in detail, at a large quantizationstep, data is quantized coarsely, resulting a small amount of generateddata or generated code. At a small quantization step, on the other hand,data is quantized finely, resulting a large amount of generated data orgenerated code.

The quantization step is controlled in concrete terms as follows.

At the output stage of the MPEG1 real time encoder board 213, the outputbuffer 118 is provided. The output buffer 118 is used for temporarilystoring encoded data to absorb changes in amount of generated data to acertain degree. As a result, the bit rate of an output bit stream can bemade constant.

If generation of encoded data, strictly speaking, variable lengthencoded data, at a bit rate higher than a predetermined value continues,however, the amount of data stored in the output buffer 118 will keepincreasing, resulting in an overflow eventually. If generation ofencoded data, strictly speaking, variable length encoded data, at a bitrate lower than a predetermined value continues, on the other hand, theamount of data stored in the output buffer 118 will keep decreasing,resulting in an underflow eventually.

In order to solve the problem described above, the amount of data orcode stored in the output buffer 118 is fed back to the quantizationstep controller 119 which controls the quantization step in accordancewith the amount of data or code fed back thereto so as to prevent anoverflow and an underflow from occurring in the output buffer 118.

To put it in detail, when the amount of data or code stored in theoutput buffer 118 approaches the storage capacity of the output buffer118, leading to a state in which an overflow is about to occurimminently, the quantization step controller 119 increases thequantization step in order to decrease the amount of data generated bythe quantizer 115. When the amount of data or code stored in the outputbuffer 119 approaches 0, leading to a state in which an underflow isabout to occur imminently, on the other hand, the quantization stepcontroller 119 decreases the quantization step in order to increase theamount of data generated by the quantizer 115.

By the way, the amount of generated code also varies in dependence onwhether a picture is encoded by using the intraframe or interframeencoding technique.

In general, since intraframe encoding results in a relatively largeramount of generated code, it is necessary to set the quantization stepat a very large value when the amount of data stored in the outputbuffer 118 is large. In this case, nevertheless, an overflow may occurin the output buffer 118 anyway even if the quantization step isincreased to a maximum value. In addition, when quantization is carriedout at a large quantization step, basically, the quality of the decodedpicture deteriorates and the quality of a picture encoded and decodedwith the decoded picture taken as a reference picture also deterioratesas well. Thus, when infraframe encoding is carried out, it is necessaryto preserve a sufficiently large free area in the output buffer 118 inorder to prevent an overflow from occurring in the output buffer 118 andto prevent the quality of a decoded picture from deteriorating.

For that reason, the quantization step controller 119 recognizes anorder in which intraframe or interframe encoding is to be carried out inadvance from a signal supplied thereto by the compression techniqueselecting circuit 132. The quantization step controller 119 controls thequantization step so as to preserve a sufficiently large free area inthe output buffer 118 in the case of intraframe encoding.

By the way, from the decoded picture quality point of view, quantizationneeds to be carried out at a small quantization step for a complicatedpicture or a large quantization step in the case of a simple picture. Inthe quantization step set only on the basis of information fed back fromthe output buffer 118 , however, such a quantization requirement is nottaken into consideration. If the quantization step is set at a valuewhich is improper from the picture complexity point of view, anexcessively large or small number of bits will be allocated. If aninappropriate number of bits are allocated to a certain picture, thenumber of bits allocated to another picture will be affected, resultingin an undesirable state.

In order to solve this problem, the quantization step controller 119sets the quantization step at a value based on by not only the fed backamount of data stored in the output buffer 118 in the buffer feedbackcontrol but also the complexity of a picture subjected to encoding.

To put it in detail, a picture evaluating circuit 130 employed in theMPEG1 real time encoder board 213 reads out data of a picture to beencoded from the frame memory unit 110, computing an evaluation value tobe used as an indicator of the complexity of the picture. The pictureevaluating circuit 130 then outputs the evaluation value to a scenechange detecting circuit 131, the compression technique selectingcircuit 132 and the quantization step controller 119.

The quantization step controller 119 learns the relation among aquantization step actually used in the encoding of a picture, the amountof data or code obtained as a result of the quantization carried out atthe quantization step and an evaluation value indicating the complexityof the picture from the picture evaluating circuit 130 and, from aresult of the learning process, finds a basic quantization step used asa base for setting a next quantization step.

To put it in detail, the quantization step controller 119 performs aregression analysis using a quantization step actually used in theencoding of a picture, the amount of data or code obtained as a resultof the quantization carried out at the quantization step and anevaluation value indicating the complexity of the picture and learns therelation among them from a graph representing results of the analysis.Subsequently, a basic quantization step which is optimum for encoding anext picture is predicted from the graph with an evaluation valueindicating the complexity of the next picture to be encoded taken as aparameter.

Then, the quantization step controller 119 changes the basicquantization step in accordance with information fed back from theoutput buffer 118 and sets the modified value as a quantization step.

A basic quantization step can be predicted from the learning processwith a high degree of accuracy by taking the complexity of a pictureinto consideration. Thus, by finding a quantization step from such abasic quantization step, the quality of a decoded picture can beimproved in comparison with a picture obtained as a result ofcontrolling the quantization step only on the basis of information fedback from the output buffer 118.

It should be noted that the scene change detecting circuit 131 detectswhether or not the scene changes from an evaluation value suppliedthereto by the picture evaluating circuit 130. A result of the detectionis supplied to the compression technique selecting circuit 132. Thecompression technique selecting circuit 132 selects a technique ofcompressing a picture in accordance with an evaluation value suppliedthereto by the picture evaluating circuit 130 and, if necessary, theresult of detection output by the scene change detecting circuit 131. Toput it in detail, the compression technique selected by the compressiontechnique selecting circuit 132, for example, determines the I, P or Bpicture as a picture type of a picture to be encoded, determines thenumber of pictures composing a GOP and determines a macroblock type,that is, whether a macroblock is subjected to infraframe or interframeencoding.

After selecting a compression technique, the compression techniqueselecting circuit 132 controls the change-over switches 113 and 123 independence on whether a current macroblock is subjected to intraframe orinterframe encoding. To be more specific, in the case of a macroblocksubjected to intraframe encoding, the change-over switch 113 is set tothe switched terminal a and the change-over switch 123 is turned off. Inthe case of a macroblock subjected to interframe encoding, on the otherhand, the change-over switch 113 is set to the switched terminal b andthe change-over switch 123 is turned on.

In addition, the compression technique selecting circuit 132 notifiesthe quantization step controller 119 of either the intraframe encodingtechnique or the interframe encoding technique which is selectedthereby. The encoding technique is used by the quantization stepcontroller 119 to recognize an order in which the intraframe encodingand the interframe encoding are carried out.

If the compression technique selecting circuit 132 has beenconsecutively selecting the P or B picture as a picture type ofconsecutive pictures to be encoded for a long time, if a picture with alow correlation between frames caused by a scene change arrives, theamount of generated data increases and the quality of a decoded picturedeteriorates because, a P or B picture is basically encoded by using theinterframe encoding technique.

In order to solve the problem described above, the scene changedetecting circuit 131 supplies a result of detection of a scene changeto the compression technique selecting circuit 132. When the compressiontechnique selecting circuit 132 is informed of a scene change, the Ipicture is selected as a picture type of a picture following the scenechange in a process called a forced selection.

It should be noted that the method, whereby a basic quantization step isinferred from a learning process and a quantization step is set from thelearned basic quantization step as described above, is described indetail in documents such as Japanese Patent Laid-open No. Hei8-102951submitted earlier by the patent applicant.

The picture evaluating circuit 130 computes the following 2 parametersrepresenting the complexity of a picture as evaluation values to be usedfor evaluation of a picture subjected to encoding by referencing theframe memory unit 110.

To put it in detail, as a first parameter, an evaluation valuerepresenting the amount of information of a picture itself iscalculated. With the first parameter, the amount of code obtained as aresult of intraframe encoding of the picture, that is, the amount ofcode obtained as a result of encoding of the picture as an I picture,can be predicted (or inferred). To put it concretely, as a typical firstparameter, a sum of DCT coefficients each obtained from DCT processingof a block of a picture or another statistical quantity can be used. Asa typical alternative, an average of pixel values for a block iscomputed. Then, a sum of the absolute values of differences between theaverage and the pixel values is a found. The sum is referred to as amean absolute difference for the sake of convenience. Then, a sum ofmean absolute differences for all blocks can also be used as anothertypical first parameter. It should be noted that, in the case of theother typical first parameter found by calculating a sum of meanabsolute differences, the size of the picture evaluating circuit 130 canbe made relatively small and, hence, the load can be reduced to arelatively small one in comparison with the typical first parameterfound by calculating a sum of DCT coefficients.

For the reason described above, in the picture evaluating circuit 130, asum of mean absolute differences for all blocks is found as a firstparameter as follows.

To put it in detail, now consider, for example, a block S of a picturesubjected to encoding. Let S_(i,j) be a pixel value of a pixel at aposition on the ith column to the right from the leftmost top corner ofthe block S and the jth row down from the corner. The MAD (Mean AbsoluteDifference) for the block S is found by Eq. (1) given below. Even thoughthe equation can be applied to all luminance and chrominance blocks, theMAD is typically calculated for each luminance block only.$\begin{matrix}{{MAD} = {\sum\limits_{i = 1}^{8}{\sum\limits_{j = 1}^{8}{{S_{i,j} - S_{AVE}}}}}} & (1)\end{matrix}$

where notation S_(AVE) used in Eq. (1) is an average of pixel values forthe block S.

Then, a sum SMAD of mean absolute differences MADs for all blocks iscomputed as a first parameter by using Eq. (2) as follows:

SMAD=ΣMAD  (2)

where the symbol Σ used in Eq. (2) indicates summation of mean absolutedifferences MADs for all blocks composing the picture.

It should be noted that, in-the picture evaluating circuit 130, the meanabsolute difference MAD expressed by Eq. (1) can also be found as a sumfor a macroblock instead of a block. Such a mean absolute difference istypically used by the compression technique selecting circuit 132 indetermination of whether the macroblock is to be encoded using theintraframe encoding technique or the interframe encoding technique and,in the case of the interframe encoding technique, selection of forwardprediction encoding, backward prediction encoding or both forward andbackward prediction encoding.

As a second parameter, an evaluation value representing the amount ofinformation on a difference between a picture and a reference pictureused in interframe encoding of the picture is computed. With the secondparameter, the amount of code obtained as a result of interframeencoding of the picture can be predicted. To put it concretely, as asecond parameter, a sum of the absolute values of differences between,for example, a picture and a predicted picture is found for each block.The sum is referred to as a mean absolute difference for the sake ofconvenience. A predicted picture is a picture obtained from motioncompensation of a reference picture. Then, a sum of mean absolutedifferences for all blocks is used as a second parameter.

A mean absolute difference is found when a motion vector is detected bythe motion detector 120. Then, in the picture evaluating circuit 130, asa second parameter, a sum of mean absolute differences is typicallyfound by using results of motion detection carried out by the motiondetector 120.

To put it in detail, now, consider, for example, a block of a referencepicture. The block comprises 8×8 pixels. Let R_(i,j) be a pixel value ofa pixel at a position on the ith column to the right from the leftmosttop corner of the block and the jth row down from the corner. Alsoconsider an x axis in the horizontal direction and a y axis in thevertical direction for a picture to be encoded. In a block with aleftmost top pixel thereof coinciding with a point (x, y), letS_(x+i, y+j) be a pixel value of a pixel at a position on the ith columnto the right from the leftmost top corner of the block and the jth rowdown from the corner.

In the motion detector 120, a sum d (x, y) of the absolute values ofdifferences between the pixel values. Sx+i, y+j and Rij expressed by Eq.(3) is found by incrementing the subscripts i and j each by 1 at a time.$\begin{matrix}{{d\left( {x,y} \right)} = {\sum\limits_{i = 1}^{8}{\sum\limits_{j = 1}^{8}{{S_{{x + i},{y + j}} - R_{i,j}}}}}} & (3)\end{matrix}$

In the motion detector 120, coordinates (x, y) that minimize the sum d(x, y) of Eq. (3) is detected as a motion vector and the minimum d (x,y) is found as an absolute difference AD.

Then, in the picture evaluating circuit 130, a sum SAD of absolutedifferences ADs each found in the motion detector 120 for a block iscomputed as a second parameter by using Eq. (4) expressing summation forall blocks as follows:

SAD=ΣAD  (4)

where the symbol Σ used in Eq. (4) indicates summation of absolutedifferences ADs for all blocks composing the picture.

It should be noted that, in the picture evaluating circuit 130, theabsolute difference AD expressed by Eq. (3) can so be found as a sum fora macroblock instead of a block. Such an absolute difference istypically used by the compression technique selecting circuit 132 indetermination of whether the macroblock is to be encoded using theinfraframe, encoding technique or the interframe encoding technique and,in the case of the interframe encoding technique, election of forwardprediction encoding, backward prediction encoding or both forward andbackward prediction encoding.

The first parameter SMAD and the second parameter SAD found by thepicture evaluating circuit 130 are supplied to the scene changedetecting circuit 131, the compression technique selecting circuit 132and the quantization step controller 119.

As described above, the scene detecting circuit 131 detects theoccurrence of a scene change on the basis of the evaluation valuesoutput by the picture evaluating circuit 130. The compression techniqueselecting circuit 132 selects a technique of compressing a picture inaccordance with the evaluation values supplied thereto by the pictureevaluating circuit 130 and, if necessary, the result of detection outputby the scene change detecting circuit 131. The quantization stepcontroller 119 sets a quantization step as described above.

It should be noted that, in the scene change detecting circuit 131, aratio of the second parameter SAD of a picture to the second parameterSAD of a picture immediately succeeding the picture is found. Themagnitude of the ratio is used as a criterion as to whether or not thescene has changed.

In addition, the scene change detecting circuit 131 also generates indexdata to be described later. The index data is supplied to themicroprocessor 201 to be stored in a generated index file also to bedescribed later.

In the compression technique selecting circuit 132, for a P or B picturefor example, the total mean absolute difference MAD and the totalabsolute difference AD for a macroblock supplied thereto by the pictureevaluating circuit 130 are compared with each other and the outcome ofthe comparison is used to make a decision as to whether the macroblockis to be encoded by using the intraframe or interframe encodingtechnique. To put it in detail, if the total mean absolute differenceMAD for a macroblock is found smaller than the total absolute differenceAD for the macroblock, that is, if the amount of code obtained as aresult of intraframe encoding is predicted to be smaller than the amountof code obtained as a result of interframe encoding, the intraframeencoding is selected. If the mean absolute difference AD for amacroblock is found smaller than the total mean absolute difference MADfor the macroblock, that is, if the amount of code obtained as a resultof interframe encoding is predicted to be smaller than the amount ofcode obtained as a result of intraframe encoding, the interframeencoding is selected.

It should be noted that, in the MPEG1 real time encoder board 213 shownin FIG. 6, the controller 133 monitors the amount of data stored in theoutput buffer 118 and controls the encoding process in the MPEG1 realtime encoder board 213 in accordance with the amount of data as will bedescribed later.

The following is a description of Slipclip, a set of 5 applicationprograms stored in the hard disc 212 for video creative work.

When the power supply of the main unit 31 is turned on by the user byoperating the power supply button 34, the operating system stored in thehard disc 212, namely, Windows 95 cited earlier, is activated. When astart button of a task bar thereof is clicked, a start menu isdisplayed.

In this embodiment, as an item of the start menu, typically “VAIO” isdisplayed. In the “VAIO” item, predetermined application programsincluding Slipclip are cataloged.

As described above, the Slipclip software comprises 5 applicationprograms called the slip recorder, the clip editor, the clip viewer, thevideo CD creator and the video CD copy tool which are all cataloged inSlipclip of “VAIO”. Thus, when the “Slipclip” item is clicked byoperating the mouse 22, 5 items representing the 5 application programs,namely, “slip recorder”, “clip editor”, “clip viewer”, “video CDcreator” and “video CD copy tool” are displayed on the screen.

The user then clicks one of the items in accordance with the purpose ofthe job to invoke an application program corresponding to the clickeditem.

When a photographic material to be used in creation of a video CD istaken by means of the video camera 214 and recorded on a recordingmedium, the slip recorder is activated if the photographic material isrecorded in a simple way as is the case with recording of a televisionbroadcast program by using a recording apparatus such as the VTR 216. Inthis case, a slip recorder main window 301 like one shown in FIG. 7 isdisplayed.

As shown in the figure, the slip recorder main window 301 comprises avariety of indicator and display fields and buttons.

To put it in detail, on a recording indicator field 302, recordingstatus is displayed. To put it concretely, for status of waiting for thestart of a recording operation after a recording reservation, typicallythe word “TIMER” is displayed on the recording indicator field 302. Forstatus of carrying out a reserved recording operation, typically thewords “TIMER REC” are displayed on the recording indicator field 302. Ifa recording operation is started by operating a recording button 309,typically the word “REC” is displayed on the recording indicator field302. If a recording operation is temporarily halted by operating a pausebutton 310 or halted by operating a stop button 308, typically the word“PAUSE” or the word “STOP” respectively is displayed on the recordingindicator field 302.

A scene change indicator field 303, which has a shape resembling a flag,is displayed only when the occurrence of a scene change on a picturebeing recorded is detected. In other words, normally, the scene changeindicator field 303 is not displayed. If a scene change is detected, thescene change indicator field 303 is displayed for a fixed period of timeto notify the user of the occurrence of the scene change.

On a present time display field 304, the present time is displayed on aso-called 24-hour basis. The present time display field 304 displaystypically the time controlled by “date and time” of a control panel ofWindows 95 as it is.

On a recording time display field 305, time information such as a timelapse since the start of a recording operation, a remaining time to theend of the recording operation or a remaining period of time till theend of a tape to be described later is displayed. By operating a timebutton 311, that is, a recording time display change button, the usercan select which time information is to be displayed on the recordingtime display field 304. It should be noted that, if a recordingoperation is not being carried out, typically “00:00:00” is displayed onthe recording time display field 305.

On a timer standby-indicator field 306, the status of a reservationrecording operation is displayed. When a recording reservation is made,putting the status in a state of waiting for the start of thereservation recording operation, for example, the start time of thereservation recording operation is displayed on the timer standbyindicator field 306 to indicate the status of waiting for the start ofthe reservation recording operation. To put it concretely, when thepresent status is status of waiting for a reservation recordingoperation which will start at 14:55, for example, the word “ON” isdisplayed to indicate the status of waiting for a reservation recordingoperation and the time “14:55” is displayed to indicate that thereservation recording operation will start at 14:55 as shown in FIG. 7.Status of presently carrying out a reservation recording operation isalso displayed along with an end time of the reservation recordingoperation. To put it concretely, for example, status of presentlycarrying out a reservation recording operation which will end at 21:43is indicated by the word “OFF” and the time “21:43” displayed on thetimer standby indicator field 306.

It should be noted that, in the case of a recording operation other thana reservation recording operation which is referred to hereafter simplyas ordinary recording for the sake of convenience, a message identicalwith that for indicating that the ordinary recording is under way isdisplayed even if the end time has been set.

Status of carrying out an ordinary recording operation with no end timeset is indicated by “--:--”, for example, displayed on the timer standbyindicator field 306.

For operations other than the reservation and ordinary recordingoperations, nothing is displayed on the timer standby indicator field306.

On an endless recording display field 307A, a message indicating a typeof a tape to be described later is displayed. In the case of an“endless” tape type, the character “E” is displayed on the endlessrecording display field 307A as shown in FIG. 7. In the case of a“normal” tape type, on the other hand, nothing is displayed on theendless recording display field 307A.

On an input source display field 307B, a message indicating a selectedrecording object is displayed. To be more specific, if an input from theAV terminal unit 84 on the rear surface of the main unit 31 or an inputfrom the AV terminal unit 43 on the front surface of the main unit 31 isselected, the words “Video 1” or “Video 2” respectively are displayed onthe input source display field 307B. If the output of the TV tuner 213Ais selected, a message “TV-O” is displayed on the input source displayfield 307B. It should be noted that, on the O mark portion of themessage, the number of a channel selected by the TV tuner 213A isdisplayed. On the window shown in FIG. 7, a message “TV-1” is displayedon the input source display field 307B to indicate that a programbroadcasted through Channel 1 is selected as a recording object.

The stop button 308, the recording button 309 or the pause button 310 isoperated to stop a recording operation, to start a recording operationor to temporarily stop a recording operation respectively. It should benoted that, when a recording operation has been halted temporarily byoperating (or clicking) the pause button 310, the recording operationcan be resumed by operating the pause button 310 once more.

As described above, the recording time display change button 311 isoperated to change a message displayed on the recording time displayfield 305. To be more specific, each time the recording time displaychange button 311 is operated, the message displayed on the recordingtime display field 305 is switched alternately from a time lapse to aremaining period of time and vice versa.

An input switch button (input button) 312 is operated to change an inputselected as a recording object. To be more specific, each time the inputswitch button 312 is operated, one of an input from the AV terminal unit84 on the rear surface of the main unit 31, an input from the AVterminal unit 43 on the front surface of the main unit 31 and the outputof the TV tuner 213A is selected on the so-called rotation basis. Whenthe input switch button 312 is operated, a message displayed on theinput source display field 307B is also change accordingly.

With the output of the TV tuner 213A selected as an input to a recordingoperation, for example, one of two up and down buttons 313 is operatedto change the number of a channel selected by the TV tuner 213A from achannel currently selected to respectively a succeeding or precedingchannel shown on channel buttons 314. With the output of the TV tuner213A selected as an input to a recording operation, one of the channelbuttons 314 is operated to choose a channel to be selected by the TVtuner 213A. It should be noted that, the numbers of the channelsdisplayed by the channel buttons 314 can be set at any values in therange 1 to 62 by using a “channel setting” item of an optional menu onthe slip recorder main window 301.

With the slip recorder main window 301 having the above configurationdisplayed, assume that the input switch button 312 is operated to selectan input to a recording operation and, if the output of the TV tuner213A is selected as the input, the up or down button 313 or the one ofthe channel buttons 314 is operated to select a channel of the input.Then, the recording button 309 is operated to start the operation torecord pictures along with their accompanying sound of the selectedinput. If the recording operation is carried out by the slip recorder,it is necessary to set a tape to be used in the recording operation.

To put it in detail, when a recording operation is requested byoperating the recording button 309 and the others as described above,pictures of the recording object are encoded by the MPEG1 real timeencoder board 213 and encoded data obtained as a result of the encodingoperation is stored in the hard disc 212. If the encoded data is simplystored in the hard disc 212, however, a free area in the hard disc maybe insufficient, making it impossible to carry out the recordingoperation.

By the way, if the recording operation is carried out to record data ona video tape by means of an apparatus such as a VTR, for example, thedata can be recorded in a space between the beginning and the end of thevideo tape without any restriction. This is because the video tape isconsidered to have a recording capacity allocated in advance.

With the “Slipclip” facility, a recording area larger than a recordingcapacity required for carrying out a normal recording operation isallocated in the hard disc 212 and data including encoded code is thenrecorded in the recording area. The recording capacity is a minimumrecording size required for carrying out a recording operation withoutaborting the operation in the course of recording due a free area in thehard disc 212 running out. For the sake of convenience, the recordingcapacity and the recording area required for recording are referred tohereafter as a required capacity and a required area respectively.

To put it in detail, in an operation to record pictures carried out inthis embodiment, a large file required for recording an MPEG systemstream obtained as a result of MPEG encoding performed by the MPEG1 realtime encoder board 213 and a large file required for recordinginformation such as indexes to be described later are generated. Theformer and the latter files are referred to hereafter as an MPEG fileand an index file respectively for the sake of convenience. Since thefiles are stored in the hard disc 212, it is necessary to allocate anarea required for recording data including encoded code, that is, theMPEG system stream, in the hard disc 212 in advance.

After all, the MPEG and index files with a total size equal to orgreater than the required capacity are allocated in a free area in thehard disc 212.

The contents of the MPEG and index files right after allocation in thehard disc 212 are information with no meaning in particular. Theallocation of the files corresponds to preparation of a new video tapein a recording operation by means of a VTR. For this reason, the filesare referred to as a tape in slip recorder.

A tape can be set by using typically a tape setting dialog box 321 likeone shown in FIG. 8.

The tape setting dialog box 321 is displayed by clicking a message“Standard tape setting”, an item of an “Edit” menu displayed on theupper part of the slip recorder main window 301 shown in FIG. 7.

The user enters a name to be appended to a tape into a name field 322 onthe tape setting dialog box 321. In the embodiment shown in FIG. 8, thename “Tape” is entered. A name entered in the name field 322 is a filename common to the MPEG and index files constituting a tape being set.It should be noted that, in order to distinguish the MPEG and indexfiles from each other, typical file name extensions “MPG” and “SCX” aregiven to the MPEG and index files respectively. Thus, with the name“Tape” entered in the name field 322 as a file name, the full file namesof the MPEG and index files constituting the tape are as a rule“Tape.MPG” and “Tape.SCX” respectively.

A write protect box 323 is checked to put write protection on the tape.A type field 324 is used for setting a type of the tape described below.

In the case of the slip recorder, 2 types of a tape, namely, “normal”and “endless”, are provided to indicate a normal tape and an endlesstape which are shown in FIGS. 9A and 9B respectively.

When a normal tape is specified, MPEG and index files are created toform a tape with a minimum required recording capacity at least equal toa recording time set in a recording time field 325 described later. If arecording time of 1 hour is set in the recording time field 325, forexample, a tape with a recording capacity of 1 hour shown in FIG. 9A iscreated.

When an endless tape is specified, on the other hand, tapes each with afixed recording capacity of typically 15 minutes are created to form theendless tape like one shown in FIG. 9B. Such tapes are each referred tohereafter as a fixed tape for the sake of convenience. As many fixedtapes as required to form an endless tape with a recording capacity atleast equal to a value corresponding to a recording time set in therecording time field 325 are created. That is to say, the number offixed tapes each having a recording capacity of 15 minutes is obtainedby dividing the recording time set in the recording time field 325 by 15minutes and then adding 1 to a quotient obtained as a result of thedivision. In this embodiment, the recording time of each fixed tape isset at a typical value of 15 minutes as will be described later. To putit concretely, assume that a recording time of 1 hour is set in therecording time field 325 for example. In this case, 5 fixed tapes arecreated to from an endless tape as shown in FIG. 9B. Since the number 5is obtained by dividing 1 hour by 15 minutes to give a quotient of 4 andadding 1 to the quotient, the endless tape which is composed of 5 fixedtapes can be used for recording data for a period of up to 1 hour and 15minutes.

As described above, a normal tape comprises 1 MPEG file and 1 indexfile. It is obvious from the embodiment given above, however, that anendless tape may comprise a plurality of fixed tapes which each comprisean MPEG file and an index file. In order to distinguish MPEG files andindex files of an endless tape from each other, the name of each MPEGfile or each index file includes the symbol “#” followed by the sequencenumber of the file.

Consider the endless tape shown in FIG. 9B as an example. The endlesstape comprises 5 MPEG files and 5 index files. Their file names areTape#1.MPG, Tape#1.SCX, Tape#2.MPG, Tape#2.SCX, Tape#3.MPG, Tape#3.SCX,Tape#4.MPG, Tape#4.SCX, Tape#5.MPG and Tape#5.SCX.

An operation to record data on a normal tape is begun at the start ofthe tape and, at a point of time the end of the tape is reached, theoperation is terminated. It should be noted that, if an instruction tohalt the operation is issued before the end of the tape is reached, theoperation is terminated at a point of time the instruction is issued. Inthis case, portions of the MPEG and index files that have not been usedin the recording operation are freed. That is to say,they are releasedas free areas.

On the other hand, an operation to record data on an endless tape isbegun at the start of the first fixed tape if the endless tape comprisesa plurality of fixed tapes. As the end of the first fixed tape isreached, the operation to record data on the first fixed tape isterminated and an operation to record data on the second fixed tape isbegun. Thereafter, operations to record data on the third, fourth, - - -, last fixed tapes are carried out sequentially one tape after another.As the end of the last fixed tape is reached, an operation to record,strictly speaking, to overwrite, data on the first fixed tape is carriedout again.

That is to say, in the embodiment shown in FIG. 9B, when the operationto record data on all the first to fifth fixed tapes is finished, anoperation to record, strictly speaking, to overwrite, data on the firstfixed tape is started. The recording operation is carried out on arotation basis till an instruction to end the operation is issuedtypically when the stop button 308 is operated. Such a recordingoperation on a rotation basis is continued, so to speak, endlessly.

Then, as an instruction to end the recording operation is issued, theoperation is terminated right away at that point of time. In this case,in “Slipclip”, a retroactive area with a length specified in therecording time field 325 in the endless tape starting from the point oftime the recording operation is terminated is made a playback range.

To put it concretely, consider the endless tape shown in FIG. 9B forexample. Assume that an instruction to end the recording operation isissued at a point of time 10-minute recording on the fifth fixed tape isended. A hatched area of 1 hour in length shown in the figure whichstarts at a 10-minute position on the first fixed tape and ends at a10-minute position on the fifth fixed tape is made a playback range.

It should be noted that, in this case, an area on the first fixed tapefrom the start thereof to the 10-minute position and an area on thefifth fixed tape from the 10-minute position to the end thereof are notplayback ranges. Thus, when viewed from the standpoint of theutilization efficiency of the hard disc 212, these areas should be bothfreed. In this case, however, only the area on the fifth fixed tape fromthe 10-minute position to the end thereof is freed while the area on thefirst fixed tape from the start thereof to the 10-minute position is notfor the following reason.

At the head of an MPEG file of a fixed tape, a system header andinformation required in an operation to decode data experiencing MPEGencoding are recorded. If such an area is discarded, the decodingoperation will be difficult to carry out.

Thus, data recorded in the area on the first fixed tape from the startthereof to the 10-minute position can be played back by directlyaccessing the MPEG file of the first fixed tape.

It should be noted that an endless tape may comprise only 1 fixed tapeas is the case with a normal tape instead of a plurality of fixed tapesdescribed above. When such an endless tape is created, the endless tapeis specified as a type of the tape. In this case, there can beconsidered a recording technique whereby a recording operation isstarted at the beginning of the fixed tape and, as the end thereof isreached, the operation to record, strictly speaking, to overwrite, datais repeated from the same beginning of the fixed tape. As describedabove, however, information including a system header is recorded at thehead of an MPEG file of a fixed tape. Thus, if such information isoverwritten, the decoding operation will be difficult to carry out. Itis therefor desirable to create an endless tape from a plurality offixed tapes.

Refer back to FIG. 8. The user enters a recording time, that is, aperiod of time required for recording, to the recording time field 325.A recording time up to 12 hours with a resolution of 15 minutes can betypically entered to this field. It should be noted that a recordingtime is entered in terms of hours and minutes.

An automatic index check box 326 is checked to request that an indexserving as a mark for representing a position of a scene change of apicture be automatically appended in a recording operation. If theautomatic index check box 326 is not checked, information such as ascene change pointer and a scene change parameter to be described lateris not recorded in an index file.

In a video recording mode field 327, a video recording mode indicatingbit rate information is set. 4 video recording modes are provided torepresent 4 bit rates, namely, enumerated in a decreasing order, “High”,“Normal”, “Long” and “Network”.

FIG. 10 is a table showing the size of a frame, a system bit rate, avideo bit rate, a frame rate, an audio bit rate, an audio recording modethat can be set and a video recording time of a 1-GB tape for each ofthe video recording modes. The size of a frame is the number of pixelsin the horizontal direction X the number of pixels in the verticaldirection. The system bit rate is the bit rate of a system streamobtained as a result of MPEG encoding of a picture. The video bit rateis the bit rate of code obtained as a result of MPEG encoding. The framerate is the number of frames per second. The audio bit rate is the bitrate of a system stream obtained as a result of MPEC encoding of sound.The video recording time of a 1-GB tape is a period of time during whichdata can be recorded on a tape with a storage capacity of 1 GB.

As shown in the table, even though the video recording time of a 1-GBtape for the “High” video recording mode is shortest, a decoded picturewith the highest picture quality can be obtained. In the “Normal” videorecording mode, a system stream conforming to video CD (VCD)specifications can be obtained as described above. The “Long” videorecording mode is suitable for an application with a relatively longrecording time but requiring a not so high picture quality of decodedpictures. The bit rates for the “Network” video recording mode are setat values allowing real time transmission through an ISDN (IntegratedService Digital Network). Thus, the “Network” video recording mode issuitable for an application involving such transmission.

It should be noted that, in the “Long” video recording mode, the numberof pixels composing a frame is about ¼ of those of the “High” and“Normal” video recording modes. The number of pixels for the “Network”video recording mode is even smaller. The frame rate, that is, thenumber of frames per second, is 30 for the “High” and “Normal” and“Long” video recording modes and 10, ⅓ of 30, for the “Network” videorecording mode.

Refer back to FIG. 8. In an audio recording mode field 328, an audiorecording mode is set. 3 audio recording modes, namely, 2 channels(dual), stereo and monophonic (single) are provided.

It should be noted that, in the “High” and “Long” video recording modes,either the 2-channel audio recording mode or the stereo audio recordingmode can be selected as shown in the table of FIG. 10. In the “Normal”video recording, however, the audio recording mode is fixed at the2-channel mode and, in the “Network” video recording, however, the audiorecording mode is fixed at the monophonic mode.

An auto check box 329 of a clip creation folder is checked to requestthat a folder set in advance to be used as a folder for creating a clip.A clip is a pair of MPEG and index files. In the slip recorder, such apair is referred to as a tape. In the clip editor and the clip viewer,however, the pair is called a clip. Thus, a normal tape is considered tobe the same as a clip. Composed of a plurality of pairs of MPEG andindex files, however, an endless tape corresponds to a plurality ofclips.

A reference button 330 of the clip creation folder is operated tospecify a folder for creating a clip.

On an information field 331, information including a size, a frame rate,a video bit rate and an audio bit rate of a decoded picture obtained asa result of encoding in a video recording mode set in the videorecording node field 327 is displayed. That is to say, the informationsuch as size shown in the table of FIG. 10 for the specified videorecording mode is displayed on the information field 331.

Also displayed on the information field 331 is a size or a recordingcapacity of a tape allocated on the hard disc 212, that is, a size of adisc area allocated to the tape for recording an MPEG system streamobtained as a result of an encoding operation in a video recording modeset in the video recording mode field 327 for a recording time set inthe recording time field 325.

The size of the tape is typically calculated as follows.

The system bit rate for a video recording mode set in the videorecording mode field 327 is multiplied by a recording time set in therecording time field 325 to find the size of the MPEG file of the tape.The size of the index file of the tape is estimated to be typically 0.1%of the size of the MPEG file. Finally, the size of the tape is found byadding the size of the index file to the size of the MPEG file.

It should be noted that, basically, system bit rates for the videorecording modes have the values shown in the table of FIG. 10. For the“Normal” video recording mode, however, a value smaller than a systembit rate of 1,411,200 bps shown in the table of FIG. 10 is used for areason described as follows. The system bit rate shown in the table ofFIG. 10 for the “Normal” video recording mode is a value applicable toan operation to record an MPEG system stream onto a video CD. This valuerepresents the bit rate of a bit stream obtained by adding informationsuch as a sink and a header prescribed in video CD specifications to apack of the MPEG system stream. That is to say, the system bit rateshown in the table of FIG. 10 is a bit rate conforming to the video CDspecifications. In an operation to record an MPEG system stream onto thehard disc 212, such information including a sink and a header is notrequired. In addition, when viewed from the standpoint of theutilization efficiency of the hard disc 212, unnecessary data should notbe recorded in the hard disc 212.

Thus, for the “Normal” video recording mode, the size of a tape iscalculated by assuming that the bit rate of the MPEG system streamcomposing of only a pack is 1,394,400 bps.

To put it concretely, consider the embodiment shown in FIG. 8 in whichthe “Normal” video recording mode is selected and a recording time of 1hour is set. If a normal tape is specified as a tape type, the size ofthe tape will be computed by multiplying the system bit rate 1,394,400bps by the recording time 1 hour and adding 0.1% of the product obtainedas a result of the multiplication to the product. In the embodimentshown in FIG. 8, however, an endless tape is specified as a tape type.According to what has been described before, the recording capacity ofthe endless tape is longer than the recording time 1 hour specified inthe recording time field 325 by a difference of 15 minutes. An endlesstape size of 748.76 MB is found by multiplying the system bit rate1,394,400 bps by the recording time (1 hour+15 minutes) and adding 0.1%of the product obtained as a result of the multiplication to theproduct. The size 748.76 MB of the endless tape is displayed on theinformation field 331 of the tape setting dialog box 321 shown in FIG.8.

An OK button 332 is operated to confirm items set anew in the tapesetting dialog box 321 and close the dialog box 321. A cancel button 333is operated to keep items set previously in the tape setting dialog box321 and close the dialog box 321. A help button 334 is operated todisplay explanations for helping the user understand the tape settingdialog box 321.

Next, the recording process carried out by means of the slip recorder isexplained by referring to flowcharts shown in FIGS. 11 and 12.

In order to carry out a recording operation, first of all, the useropens the tape setting dialog box 321 shown in FIG. 8 for setting a tapeas described earlier.

Then, assume that a television broadcast program is recorded as anexample. In this case, the input switch button 312 of the slip recordermain window 301 shown in FIG. 7 is operated to select the output of theTV tuner 213A shown in FIG. 5 as an input to the recording process.Then, one of the up and down buttons 313 or one of the channel buttons314 is operated to select the channel of the program to be recorded.

When recording or dubbing pictures and the accompanying sound which havebeen recorded by means of the video camera 214, video and audio outputterminals of the video camera 214 not shown in the figures are connectedto the AV terminal u nit 84 on the rear surface of the main unit 31 orthe AV terminal unit 43 on the front surface thereof. Then, the inputswitch button 312 is operated to select the AV terminal unit 84 or 43 asan input to the recording process.

When the user operates the recording button 309 of the slip recordermain window 301 after the setting operations described above, themicroprocessor 201 carries out a recording process in accordance withthe flowchart shown in FIG. 11 or 12.

The flowchart shown in FIG. 11 represents a recording process wherein anormal tape has been set as a tape used in the recording process. Asshown in the figure, the flowchart begins with a step S1 to form ajudgment as to whether a tape can be created or not.

An area in the hard disc 212 required for a recording process is notallocated to a specified tape by merely setting the tape through thetape setting dialog box 321. That is to say, it is not until therecording button 309 is operated that a tape is allocated in the harddisc 212. This is because, when viewed from the standpoint ofutilization efficiency of the hard disc 212, allocation of a tape priorto the start of a recording process is not desirable.

In the formation of the judgment at the step S1, the size of thespecified tape is computed in the way described earlier. The judgment isthen based on confirmation as to whether an area with the computed sizecan be allocated in the hard disc 212.

If the outcome of the judgment formed at the step S1 indicates that thespecified tape can not be made, that is, if the outcome indicates that afree area with a size at least equal to the computed tape size in thehard disc 212 can not be allocated to the specified tape, typically amessage indicating this problem is displayed and the recording processis terminated. In this case, no recording is carried out.

If the outcome of the judgment formed at the step S1 indicates that thespecified tape can be made, that is, if the outcome indicates that anMPEG file and an index file of the specified tape can be stored in thehard disc 212, on the other hand, the flow of the process goes on to astep S2 at which the MPEG and index files are allocated in the hard disc212. It should be noted that, at the present stage, the MPEG and indexfiles contain no meaningful information in particular as describedbefore. That is to say, a free area in the hard disc 212 is merelyallocated to the MPEG and index files.

Then, the flow of the process proceeds to a step S3 at which the MPEGfile of the tape is opened. The flow of the process then continues to astep S4 at which the MPEG1 real time encoder board 213 is controlled tocarry out MPEG processing therein on an input selected by operating theinput switch button 312.

Subsequently, the flow of the process goes on to a step S5 at which anMPEG system stream obtained as a result of the MPEG encoding istransferred to the hard disc 212 to be written into the MPEG fileallocated therein at the step S2. Then, the flow of the process proceedsto a step S6 to form a judgment as to whether or not the MPEG systemstream being written has reached the end of the MPEG file and whether ornot the stop button 308 has been operated to request that the recordingprocess be terminated. If the outcome of the judgment indicates that theMPEG system stream being written has not reached the end of the MPEGfile and the stop button 308 has not been operated, the flow of theprocess returns to the step S4 to continue the encoding and therecording of object pictures.

If the outcome of the judgment indicates that the MPEG system streambeing written has reached the end of the MPEG file or the stop button308 has been operated, on the other hand, the flow of the process goeson to a step S7 at which the MPEG file is closed to end the recordingprocess.

The following is a description of a recording process wherein an endlesstape has been set as a tape used in the recording process carried out inaccordance with the flowchart of FIG. 12.

As shown in the figure, the flowchart begins with a step S11 to befollowed by a step S12 which are basically the same as the steps S1 andS2 of the flowchart shown in FIG. 11 respectively. It should be noted,however, that at the step S12, an endless tape comprising a plurality offixed tapes like the one shown in FIG. 9B described before is created.

After completing the processing of the step S12, the flow of the processgoes on to a step S13 at which the MPEG file of a head fixed tape, thatis, the first fixed tape, of the endless tape is opened. The flow of theprocess then proceeds to a step S14 at which the MPEG1 real time encoderboard 213 is controlled to carry out MPEG processing therein on an inputselected by operating the input switch button 312.

Subsequently, the flow of the process goes on to a step S15 at which anMPEG system stream obtained as a result of the MPEG encoding istransferred to the hard disc 212 to be written into the MPEG file. Then,the flow of the process proceeds to a step S16 to form a judgment as towhether or not a request has been made to terminate the recordingprocess typically by operating the stop button 308. If the outcome ofthe judgment formed at the step S16 indicates that a request has notbeen made to terminate the recording process, the flow of the processcontinues to a step S17 to form a judgment as to whether or not the MPEGsystem stream being written has reached the end of the MPEG file of thefixed tape. If the outcome of the judgment formed at the step S17indicates that the MPEG system stream being written has not reached theend of the MPEG file of the fixed tape, the flow of the process returnsto the step S14 to continue the encoding and the recording of objectpictures.

If the outcome of the judgment formed at the step S17 indicates that theMPEG system stream being written has reached the end of the MPEG file ofthe fixed tape, on the other hand, the flow of the process goes on to astep S18 at which this MPEG file is closed. Then, the flow of theprocess proceeds to a step S19 at which the MPEG file of the next fixedtape is opened. The flow then returns to the step S14. As a result, theMPEG system stream is recorded on the MPEG file of the next fixed tape.

As the MPEG system stream being written has reached the end of the MPEGfile of the last fixed tape, at the step S19, the MPEG file of the firstfixed tape is opened again. The MPEG system stream is then recorded onthe first fixed tape, overwriting data recorded thereon previously. As aresult, the MPEG system stream is recorded endlessly so to speak tillthe outcome of the judgment formed at the step S16 indicates that arequest has been made to terminate the recording process.

When the stop button 308 is operated, for example, the outcome of thejudgment formed at the step S16 indicates that a request has been madeto terminate the recording process. In this case, the flow of theprocess goes on to a step S20 at which the opened MPEG file is closed toterminate the recording process.

In the recording process, an MPEG system stream is recorded on the MPEGfile of a tape as described above and, at the same time, predetermineddata is stored in the index file of the same tape.

FIG. 13 shows a flowchart representing an index recording process torecord data in an index file.

As shown in the figure, the flowchart begins with a step S30 at which anindex file is opened and a header is recorded in the index file. Theheader includes, among other information, a start time and a recordingmode set on the tape setting dialog box 321 shown in FIG. 8. The starttime is a time, strictly speaking, the present time, at which recordingis started. The flow of the process then goes on to a step S31 at whichthe microprocessor 201 forms a judgment as to whether or not index datahas been transmitted by the scene change detecting circuit 131 employedin the MPEG1 real time encoder board 213 shown in FIG. 6. If index datahas not been received, the flow of the processing goes on to a step S39,skipping steps S32 to S38.

If the outcome of the judgment formed at the step S31 indicates thatindex data has been transmitted by the scene change detecting circuit131 shown in FIG. 6, on the other hand, the microprocessor 201 receivesthe index data. The flow of the process then proceeds to the step S32.

FIG. 14 is a diagram showing a typical format of index data transmittedby the scene change detecting circuit 131.

As shown in the figure, the index data comprises a 4-bit area forstoring a variety of flags followed by a 28-bit area for storing thesecond parameter SAD computed by using Eq. (4) as described earlier togive a total length of 32 bits. The 4-bit area typically includes apicture type flag and a scene change flag. The picture type flagindicates a picture type of a frame subjected to computation of thesecond parameter SAD and the scene change flag indicates whether or notthe scene change detecting circuit 131 has detected a scene change.

Refer back to FIG. 13. At the step S32, the microprocessor 201 examinesthe index data received from the scene change detecting circuit 131 inorder to form a judgment as to whether the index data indicates an I orP picture. It should be noted that the judgment is formed typically byreferring to the picture type flag included in the index data.

If the outcome of the judgment formed at the step S32 shows that theindex data indicates that the picture type is neither an I picture nor aP picture, that is, if the picture type is the B picture, the flow ofthe processing goes on to the step S39, skipping the steps S33 to S38.If the outcome of the judgment formed at the step S32 shows that theindex data indicates an I picture or a P picture, on the other hand, theflow of the process proceeds to the step S33 at which the microprocessor201 forms a judgment as to whether or not a scene change in the I or Ppicture has been detected. It should be noted that the judgment isformed typically by referring to the scene change flag included in theindex data.

If the outcome of the judgment formed at the stop S33 indicates that ascene change has not been detected, the flow of the processing goes onto the step S38, skipping the steps S34 to S37. If the outcome of thejudgment formed at the step S33 indicates that a scene change has beendetected, on the other hand, the flow of the processing goes on to thestep S34 at which the microprocessor 201 computes a scene changeparameter. To be more specific, the microprocessor 201 divides an SADincluded in the index data received this time by a previous SAD saved atthe step S38 to be described later, using a result of the division as ascene change parameter.

The scene change parameter indicates the magnitude of a scene change,that is, a degree to which a screen changes. The larger the magnitude,the greater the value of the scene change parameter. It should be notedthat the scene change parameter is not limited to the quantity obtainedby the division described above. The scene change parameter can be anyquantity of physics as long as the quantity indicates the magnitude orthe degree of a scene change.

After the scene change parameter is computed, the flow of the processcontinues to the step S35 at which the microprocessor 201 forms ajudgment as to whether or not the scene change parameter is greater thana predetermined threshold value ε of typically 3. If the outcome of thejudgment formed at the step S35 indicates that the scene changeparameter is not greater than the predetermined threshold value ε, theflow of the processing goes on to the step S38, skipping the steps S36and S37.

If the outcome of the judgment formed at the step S35 indicates that thescene change parameter is greater than the predetermined threshold valueε, on the other hand, the flow of the processing goes on to the step S36at which a scene change pointer is found and associated with the scenechange parameter. A scene change pointer is information on a location inthe MPEG file for storing encoded data of a frame whose scene change isrepresented by the scene change parameter. Then, an identification flagto be described later is added to the scene change pointer and the scenechange parameter. Finally, the identification flag, the scene changepointer and the scene change parameter are stored in the index file.

It should be noted that a scene change pointer is typically an offset ofa specific location expressed in terms of bytes from the head of an MPEGfile for storing encoded data at the specific location.

For the sake of convenience, information comprising a scene changepointer, a scene change parameter and an identification flag addedthereto is referred to as an index. An index plays the role of a markindicating the position of a scene change.

It should be noted that, an index appended by the microprocessor 201 andstored in the index file in a recording operation is referred to as anautomatic index. An index can also be appended by a predeterminedoperation carried out by the user. An index appended by an operationcarried out by the user is referred to as a manual index. Theidentification flag is typically 1-bit flag for distinguishing anautomatic index from a manual index.

After the processing of the step S36, the flow of the process goes on tothe step S37 at which a scene change indicator 303 is displayed on theslip recorder main window 301 shown in FIG. 7 for a predetermined periodof time in order to inform the user that a scene change has occurred.The flow of the process then proceeds to the step S38 at which the SADincluded in the index data received this time is stored in the mainmemory unit 202 to replace the SAD stored previously. Then, the flow ofthe process continues to the step S39 to form a judgment as to whetheror not the operation to record the MPEG system stream into the MPEG filehas been finished. If the operation to record the MPEG system streaminto the MPEG file has not been finished, the flow of the processreturns to the step S31 to repeat the operations described above.

If the outcome of the judgment formed at the step S39 indicates thatoperation to record the MPEG system stream into the MPEG file has beenfinished, on the other hand, the index file is closed to terminate theindex recording process.

In the embodiment represented by the flowchart shown in FIG. 13, only ifthe scene change flag indicates that a scene change has been detected bythe scene change detecting circuit 131 and the scene change parameter isgreater than the predetermined threshold value ε is an index recorded.It should be noted that an index may also be recorded without regard tothe magnitude of the scene change parameter. In this case, however, anindex is appended also to a frame without such a large scene change,increasing the number of indexes as a result.

If any arbitrary scene of an already recorded picture can be played backin the course of recording of pictures and their accompanying sound,more convenience can be reaped from the personal computer. When the userlooks at something else in the course of recording of pictures and theiraccompanying sound, overlooking a scene, for example, more conveniencecan be reaped from the personal computer if the user is allowed toretroactively play back recorded pictures including the overlooked one.

In order to provide such convenience, the slip recorder is designed toinclude a function that allows any arbitrary scene of an alreadyrecorded picture to be played back in the course of recording ofpictures and their accompanying sound while the recording is beingcarried out, that is, without the need to suspend the recordingoperation. Such a playback operation is referred to hereafter as a slipplayback operation for the sake of convenience.

In order to carry out a slip playback operation, the user selects a“Slip” item from a “Playback” menu at the upper portion of the sliprecorder main window 301 shown in FIG. 7. When the “Slip” item isselected, typically, a playback window 341 like one shown in FIG. 15 isdisplayed.

On a picture display area 342 of the playback window 341, a played backpicture is displayed. On the playback indicator 343, the currentplayback status is displayed. To be more specific, for example, amessage “PLAY” indicating that the playback operation is underway,“PAUSE” indicating that the playback operation is temporarily suspended,“STOP” indicating that the playback operation is halted, “SLOW”indicating that a slow playback operation is under way, “F. SKIP”indicating that a skip operation in the forward direction is under wayor “R. SKIP” indicating that a skip operation in the backward directionis under way is displayed on the playback indicator field 343.

On a playback time display field 344, one of the following 3 pieces ofinformation is displayed as shown in FIG. 16:

a lapsing period of time since a point of time recording is started(referred to hereafter as a start point of time for the sake ofconvenience) to a position subjected to a slip playback operation(referred to hereafter as a playback point for the sake of convenience);

a remaining period of time from the playback point to a positionsubjected to recording (referred to hereafter as a recording point forthe sake of convenience); or

a point of time at which a picture, that is, encoded data, at theplayback point was recorded (referred to hereafter as a recording pointof time for the sake of convenience).

It should be noted that, in the case of an already recorded tape, theremaining period of time is a period from the playback point to the endof the tape. One of the 3 pieces of information to be displayed isselected by operating a playback time display change button 353.

In a slip playback operation, the relative positional relation betweenthe playback and recording points does not change as long as the.playback point is not shifted by a slider 354 to be described later.Thus, in a slip playback operation, if a remaining period of time isselected, time information displayed on the playback time display field344 remains fixed or all but fixed because the remaining period of timeis a period corresponding to a distance from a playback point to arecording point.

It should be noted that the playback window 341 is opened not only whena slip playback operation is requested, but also when a request is madeto monitor an input selected by the input switch button 312 of the sliprecorder main window 301 or a request is made to play back a tape whichhas completed a recording operation. When the playback window 341 isopened for monitoring a selected input, “--:--:--” is displayed on theplayback time display field 344. When the playback window 341 is openedfor playing back a tape which has completed a recording operation and aremaining period of time is selected as time information to be displayedon the playback time display field 344, a period from a playback pointto the end of the tape is displayed.

On an audio output mode display field 345, the current audio output modeis displayed. Typically, there are provided 3 audio output modes,namely, a stereo audio output mode, a mode to output sound from theright and left speakers of the L channel only and a mode to output soundfrom the right and left speakers of the R channel only. One of the 3audio output modes is selected by operating an audio output switchbutton 357. It should be noted that, when the stereo audio output mode,the mode to output sound from the right and left speakers of the Lchannel only or the mode to output sound from the right and leftspeakers of the R channel only is selected, on the audio output modedisplay field 345, a message “STEREO”, “L ONLY” or “R ONLY” isrespectively displayed

A stop button 346, a playback button 347 or a pause button 348 isoperated to respectively halt, start or temporarily suspend the playbackoperation. A skip button 349 or 350 is operated to skip a portion of thetape in the backward or forward direction respectively. An index button351 or 352 is operated to skip a portion of the tape to a frame with anindex appended thereto that is closest to a playback point in thebackward or forward direction respectively.

The playback time display change button 353 is operated to select timeinformation to be displayed on the playback time display field 344. Itshould be noted that, each time the playback time display change button353 is operated, the time information is changed on a rotation basis forexample as follows: a lapsing period of time→a remaining period oftime→a recording point of time→a lapsing period of time - - - and so on.

The slider 354 is used to change the playback point. To put it indetail, the slider 354 can be shifted typically by dragging it using themouse 22. At that time, the playback point is changed to a positioncorresponding to a location of the slider 354. It should be noted thatthe slider 354 can be shifted horizontally along a groove provided forthe motion of slider 354. The left end of the groove of the slider 354corresponds to a position at which recording is started, that is, thebeginning of an MPEG file. On the other hand, the right end of thegroove of the slider 354 corresponds to a recording point. Thus, theuser is capable of playing back any arbitrary screen between a positionat which the recording was started and a point immediately preceding ascreen currently being recorded by operating the slider 354.

It should be noted, however, that in the MPEG1 real time encoder board213, a pre-encoding picture is temporarily stored in the frame memoryunit 110 and code obtained as a result of the encoding is temporarilystored in the output buffer 118 as described above. In addition, ittakes time to a certain degree to carry out MPEG encoding and to storecode obtained as a result of the MPEG encoding in the output buffer 118.Thus, a screen that can be subjected to a slip playback operation is ascreen preceding a screen currently being recorded by at least a periodin the range about 10 seconds to 15 seconds.

The slider 354 can be shifted by the user as described above. Inaddition, the slider 354 is also shifted in a playback operation alongwith the motion of the playback pointer. Furthermore, the slider 354 isshifted when the playback point is moved by operating the skip button349 or 350, or the index button 351 or 352.

It should be noted that when the slider 354 is shifted to change theplayback point, the time information displayed on the playback timedisplay field 344 is also changed in accordance with a change inplayback point position.

With a playback operation temporarily halted by operating the pausebutton 348, a frame feed button 355 is operated to feed a frame, thatis, to display a next frame on the picture display area 342. A slowplayback button 356 is operated to carry out a slow playback operation.The audio output switch button 357 is operated to select an audio outputmode. It should be noted that, each time the audio output switch button357 is operated, the audio output mode is changed on a rotation basisfor example as follows: the stereo audio output mode→the mode to outputsound from the right and left speakers of the L channel only→the mode tooutput sound from the right and left speakers of the R channel only→thestereo audio output mode - - - and so on.

Next, a slip playback process carried out by the slip recorder isexplained by referring to a flowchart shown in FIG. 17.

As shown in the figure, the flowchart begins with a step S40 at whichthe microprocessor 201 reads out an MPEG system stream from the head ofan MPEG file of a tape currently subjected to a recording operation whenthe playback window 341 is operated. The flow of the process then goeson to a step S41 at which the microprocessor 201 executes an applicationprogram stored in the hard disc 212 to decode the MPEG system streamread out at the step S40. The application program, which is called anMPEG1 software decoder 201A shown in FIG. 18, is an application programfor carrying out MPEG decoding as will be described later. Then, theflow of the process proceeds to a step S42 at which a result of thedecoding is output.

To be more specific, at the step S42, a picture of the decoding resultis displayed on the picture display area 342 of the playback window 341whereas sound of the decoding result is output to the speakers 59 and60.

Subsequently, the flow of the process continues to a step S43 at whichtime information corresponding to a position in the MPEG system streamread out at the step S40 is displayed on the playback time display field344 of the playback window 341. The time information displayed on theplayback time display field 344 is one of the aforementioned 3 types ofinformation selected by operating the playback time display changebutton 353. The time information is found by the microprocessor 201 asfollows.

As described above, since the MPEG system stream has a fixed rate, alapsing period of time corresponding to a position in the MPEG systemstream read out at the step S40 can be found from a recording-positionin the MPEG system stream, that is, a recording offset from thebeginning of the MPEG file expressed in terms of bytes. A remainingperiod of time can be found as a distance expressed in terms of bytesfrom a position in the MPEG system stream read at the step S40 to aposition in the MPEG system stream currently being recorded. A recordingpoint of time is found by adding the lapsing period of time to arecording start point of time stored at the head of an index file of thetape as described before.

Pieces of time information for each position in an MPEG system streamrecorded in an MPEG file can be found in a way described above. Itshould be noted that, as a typical alternative, a recording point oftime for each point in the MPEG system stream is stored and the otherpieces of time information can be found from the recording point oftime.

After completing the processing of the step S43, the flow of the processgoes on to a step S44 at which the microprocessor 201 forms a judgmentas to whether or not the playback point has been changed typically byshifting the slider 354 or operating the skip button 349 or 350, or theindex button 351 or 352. If the outcome of the judgment formed at thestep S44 indicates that the playback point has not been changed, theflow of the process returns to the step S40 at which a continuation tothe MPEG system stream read out in the immediately preceding iterationis read out from the MPEG file. The pieces of processing of thesubsequent steps are then repeated.

If the outcome of the judgment formed at the step S44 indicates that theplayback point has been changed, on the other hand, the flow of theprocess goes on to a step S45 to change a position in the MPEG systemstream, from which code is read out, in accordance with the change inplayback point. The flow of the process then returns to the step S40 atwhich the MPEG system stream is read out from the new position set atthe step S45.

The pieces of processing of the subsequent steps are then repeated.

The slip playback process is terminated typically when the playbackwindow 341 is closed or when the stop button 346 is operated.

As described above, during a recording operation, pictures and theiraccompanying sound already recorded in the hard disc 212 can be playedback starting from any arbitrary position while the recording operationis being continued. Thus, the user is capable of viewing a desired scenewithout suspending the recording operation.

In addition, since time information is displayed on the playback timedisplay field 344 of the playback window 341, by referring to thedisplayed time information, the user is capable of finding a desiredscene in a relatively short period of time.

It should be noted that, during a slip playback operation, data is readout and written from and into the hard disc 212 on the so-called timesharing basis. The scheduling of the operations to read out and writedata is carried out under control of the Windows 95 OS (operatingsystem) without any intervention in particular by the Slipclipapplication program. It should be noted, nevertheless, that thescheduling can also be controlled by the Slipclip application programitself.

To put it in detail, operations to read out and write data from and intoa hard disc put to practical use nowadays are carried out at asufficiently high speed, making it basically possible to carry out aslip playback process by merely reading out and writing data from andinto the hard disc under I/O control of the OS without the need tosuspend a recording operation.

As described above, a picture reproduced in a slip playback operation isdisplayed on the picture display area 342 of the playback window 341 asshown in FIG. 15. In addition, such a picture can also be displayed on aso-called full screen. That is to say, the picture display area 342 canbe enlarged to the whole screen of the display apparatus 51.

Next, the processing carried out by the slip recorder is explained moreby referring to FIG. 18.

During a recording operation carried out by the slip recorder, in theMPEG1 real time encoder board 213, a picture and its accompanying soundare subjected to MPEG encoding to produce an MPEG system stream which isthen recorded into an MPEG file of a tape created in advance in the harddisc 212. Then, a scene change parameter is computed from index dataoutput by the MPEG1 real time encoder board 213. The scene changeparameter is then stored in an index file of the tape created in advancein the hard disc 212 along with a scene change pointer and anidentification flag.

As shown in FIG. 18, at the head of the index file, a header (H)including a start time and a recording mode is recorded. The start timeis a point of time at which recording is started.

An identification flag, a scene change pointer and a scene changeparameter are recorded in the index file when a scene change flagincluded in index data indicates that a scene change has been detectedand the scene change parameter is greater than the predeterminedthreshold value ε as shown in FIG. 19. A scene change pointer recordedin the index file represents a position in the MPEG file as shown inFIG. 18. At that position, encoded data of a frame in which a scenechange occurs is recorded.

In the slip playback process carried out by the slip recorder, on theother hand, the MPEG1 software decoder 201A, an application program forcarrying out MPEG decoding, is executed by the microprocessor 201 toread out and decode data from any arbitrary position in an area in theMPEG file shown as a long black rectangular in FIG. 18. In the area, anMPEG system stream has already been recorded.

During a recording operation, the MPEG file is opened in the so-calledshared mode so that the MPEG file can be accessed by a plurality ofapplication programs. In the shared mode, the MPEG1 real time encoderboard 213 is thus allowed to write an MPEG system stream into the MPEGfile and, at the same time, the MPEG1 software decoder 201A is allowedto read out the MPEG system stream as well.

In the case of an endless tape, since the endless tape comprises aplurality of fixed tapes as described before, an MPEG system streamspecified as code subjected to a slip playback operation may have beenrecorded in an MPEG file of a fixed tape different from an MPEG file ofa fixed tape into which an MPEG system stream output by the MPEG1 realtime encoder board 213 is written. In this case, the MPEG file in whichan MPEG system stream specified as code subjected to a slip playbackoperation has been recorded is opened separately from the MPEG file intowhich an MPEG system stream output by the MPEG1 real time encoder board213 is written. When the read operation is finished, the MPEG file inwhich an MPEG system stream specified as code subjected to a slipplayback operation has been recorded is closed.

As described above, in this embodiment, an MPEG system stream isrecorded in an MPEG file while indexes each comprising an identificationflag, a scene change pointer and a scene change parameter are recordedin an index file which is allocated separately from the MPEG file. Thus,data conforming to MPEG specifications can be stored in an MPEG file andcan therefore be used by another application program.

It should be noted that an MPEG system stream and indexes can also berecorded in the same file. In this case, however, it will be difficultfor other application programs to use the file.

If an automatic index check box 326 of the tape setting dialog box 321shown in FIG. 8 is not checked, unlike what has been described above, noindex is recorded in an index file. That is to say, in this case, anindex file comprises only a header.

As described above, recording and playback operations can be carried outconcurrently. It should be noted that the “Normal” video recording modehas been assumed and, in order to simplify the description, the amountof data of a video element stream is computed instead of the amount ofdata of an MPEG system stream.

In the “Normal” video recording mode, a picture frame picture comprises352 pixels×240 pixels as shown in the table of FIG. 10. Assume that eachpixel comprises typically an 8-bits Y luminance signal and, if convertedinto a pixel, a 2-bit chrominance signal, namely, a 1-bit Cb chrominancesignal and 1-bit Cr chrominance signal to give a total of 12 bits. Alsoassume that 1 GOP comprises typically 15 frames. In this case, theamount of data of 1 GOP (that is, the amount of data prior to encoding)is found by using the following equation to be 1,856 KB.

Amount of data=352 pixels×240 pixels×12 bits×15 frames/8 bits=1,856 KB

In addition, in the “Normal” video recording mode, the video rate of avideo elementary stream in the MPEG1 real time encoder board 213 is1,151,929 bps and the frame rate is 30 frames/second as shown in thetable of FIG. 10. Thus, picture data of 1 GOP which comprises 15 framesas described above is compressed into an amount of data expressed by thefollowing equation:

1,151,929/30 frames×15 frames/8 bit=70.3 KB

Thus, in this case, the picture data is compressed at a compressionratio of 1/26.4 (=70.3 KB/1,856 KB).

By the way, the inventor of the present invention has found out throughmeasurement that the transfer speed of a certain HDD is about 4MB/second. At this transfer speed, the 70.3 KB compressed data of 1 GOPcan be stored in the HDD in about 17.2 ms (=70.3/(4×1,024)).

Thus, even if a very long head seek time of the HDD, for example, a headseek time of 20 ms, is assumed, the length of time it takes to storecompressed data of 1 GOP into the HDD is about 37.2 ms (=17.2 ms+20 ms).

On the other hand, a transfer speed at which data is read out from theHDD is generally higher than the write transfer speed. Assume that theread transfer speed is the same as the write transfer speed and that theread seek time is also the same as the write seek time which is 20 ms asdescribed above. In this case, the length of time it takes to read outcompressed data of 1 GOP from the HDD is also about 37.2 ms.

Since 1 GOP comprises 15 frames, it takes about 0.5 seconds to transfer1 GOP at the transfer rate 30 frames/second. Since compressed data of 1GOP can be read out and written in about 74.4 ms (=37.2 ms+37.2 ms),operations a to record and play back pictures can be carried outconcurrently during a transfer period of 1 GOP which is about 0.5seconds.

It should be noted that, in the case of the “Long” video recording mode,the amount of data of 1 GOP prior to compression is 394 KB and reducedto 22.9 KB by encoding. Thus, the data is compressed at a compressionratio of about 1/17.2. Consider an HDD having the same specifications asthe “Normal” video recording mode described above. In this case, sincethe length of time it takes to store or to read out compressed data of 1GOP into or from the HDD is about 25.6 ms, operations to record and playback pictures can also be carried out concurrently during a transferperiod of 1 GOP which is about 0.5 seconds.

By the way, since Windows 95 is an OS having a multitask function, otherprocessing can be carried out while an operation to write an MPEG systemstream into the hard disc 212 is in a wait state. Thus, if the userperforms an operation requesting that other processing be carried out inthe course of a slip playback, the other processing may be implementedeven if an operation to write an MPEG system stream into the hard disc212 is set at the highest priority. It is thus desirable for the usernot to perform an operation requesting that other processing be carriedout in the course of a slip playback. However, it is difficult toprevent all users without exception from doing such an operation.

On the other hand, if an operation to write an MPEG system stream intothe hard disc 212 is in an excessively long wait state that can not keepup with the bit rate of the MPEG system stream, the MPEG system streamwill be destroyed, making it difficult to decode the stream. It is thusnecessary to absolutely prevent an MPEG system stream from beingdestroyed.

In case an operation to write an MPEG system stream into the hard disc212 can not keep up with the bit rate of the stream, encoding carriedout by the MPEG1 real time encoder board 213 is suspended under controlexecuted by the controller 133 shown in FIG. 6.

FIG. 20 shows a flowchart representing the control executed by thecontroller 133 which monitors the amount of data stored in the outputbuffet 118 as described before. As shown in the figure, the flowchartbegins with a step S51 to form a judgment as to whether or not theamount of data stored in the output buffer 118 is greater than apredetermined value of typically 100 KB. If the outcome of the judgmentformed at the step S51 indicates that the amount of data stored in theoutput buffer 118 is not greater than the predetermined value, the flowof the control goes on to a step S52 at which the controller 133controls blocks composing the MPEG1 real time encoder board 213 to carryout MPEG encoding normally. The flow of the control then returns to thestep S51. The reason why the predetermined value is set typically at 100KB is that the typical storage capacity of the output buffer 118 is 160KB as described before. It means that, if there is a margin or A freearea of at least 60 KB in the output buffer 118, the MPEG encodingcarried out by the MPEG1 real time encoder board 213 is continued as itis.

If the outcome of the judgment formed at the step S51 indicates that theamount of data stored in the output buffer 118 is greater than thepredetermined value 100 KB, on the other hand, the flow of the controlgoes on to a step S53 at which the controller 133 suspends ortemporarily halts the encoding carried out by the MPEG1 real timeencoder board 213. To be more specific, the controller 133 typicallyneither lets more pictures be stored in the frame memory unit 110 nor apicture be read out from the frame memory unit 110. As a result, theoperation to write the MPEG system stream into the hard disc 212 is alsodiscontinued as well. To put it accurately, a device driver of the harddisc 212 does not make a request for an MPEG system stream anymore.Thus, if the amount of data stored in the output buffer 118 exceeds 100KB, leaving only a free area smaller than 60 KB in the buffer 118, thecontroller 133 suspends or temporarily halts the MPEG encoding carriedout by the MPEG1 real time encoder board 213.

The flow of the control then goes on to a step S54 at which thecontroller 133 forms a judgment as to whether or not the amount of datastored in the output buffer 118 is smaller than a predetermined value oftypically 50 KB. If the outcome of the judgment formed at the step S54indicates that the amount of data stored in the output buffer 118 is notsmaller than the predetermined value, the flow of the control returns tothe step 54. If the outcome of the judgment formed at the step S54indicates that the amount of data stored in the output buffer 118 issmaller than the predetermined value, that is, if an operation to writean MPEG system stream into the hard disc 212 which has been put in await state so far is started to extract data from the output buffer 118,reducing the amount of data stored therein to a value smaller than 50KB, on the other hand, the flow of the control goes on to a step S55 atwhich the controller 133 requests the MPEG1 real time encoder board 213to resume the encoding. To be more specific, the controller 133typically lets more pictures be stored in the frame memory unit 110 anda picture be read out from the frame memory unit 110. Then, the flow ofcontrol returns to the step S51.

As described above, in case an operation to write an MPEG system streaminto the hard disc 212 can not keep up with the bit rate of the stream,encoding carried out by the MPEG1 real time encoder board 213 issuspended. It is thus possible to prevent the MPEG system stream frombeing destroyed.

It should be noted that, during an encoding suspension period, a picturesupplied to the MPEG1 real time encoder board 213 is not stored in theframe memory unit 110 and, thus, not recorded. Since the number of suchframes is expected to be not so large, however, no big problem is raisedin comparison with a destroyed MPEG system stream.

As described above, when a free area left in the output buffer 118becomes smaller than 60 KB in size, the MPEG encoding carried out by theMPEG1 real time encoder board 213 is suspended because of a reasondescribed as follow. The MPEG encoding carried out by the MPEG1 realtime encoder board 213 can be suspended only on a frame boundary. Thatis to say, once the MPEG encoding of a frame has been started, theencoding of the frame can not be suspended till the encoding iscompleted. A largest amount of data obtained as a result of MPEGencoding is output by intraframe encoding and, in general, the amount ofdata obtained as a result of intraframe encoding is expected to be about40 KB.

Is obvious from the above discussion that data of the order of about 40KB may be supplied to the output buffer 118 even if an attempt is madeto suspend MPEG encoding. For this reason, it is necessary to assurethat a free area with a size of at least 40 KB for accommodating suchdata is still left in the output buffer 118 before MPEG encoding can besuspended.

That is why, in this embodiment, when a free area left in the outputbuffer 118 becomes smaller than 60 Kb, the MPEG encoding is suspended.It should be noted that the number 60 KB is obtained by adding a safetymargin of 20 KB to the data amount 40 KB.

Next, the clip editor is activated to edit pictures recorded by usingthe slip recorder. When the clip editor is activated, a clip editor mainwindow 361 like one shown in FIG. 21 is displayed.

With the clip editor main window 361 displayed, the user specifies aclip as an object to be edited.

As described above, while a clip basically has the same meaning as atape, in the description of the clip editor, the term clip is used.Thus, a clip comprises an MPEG file and an index file.

When a clip is specified, a source window 362 is displayed on the clipeditor main window 361. Index screens of the specified clip are furtherdisplayed on the source window 361.

To put it in detail, the microprocessor 201 executes the MPEG1 softwaredecoder 201A shown in FIG. 18 to decode encoded data of frames stored inthe MPEG file of the specified clip at locations pointed to by scenechange pointers stored in the index file of the same clip. Themicroprocessor 201 then displays shrunk screens of the decoded frames asthe index screens on the source window 362.

It should be noted that, above each of the index screens, a name foridentifying the index screen is displayed. In the embodiment shown inFIG. 21, examples of the names displayed above the index screens areAuto 0, Index 1, Auto 2 and Auto 3.

In the examples, the names “Auto n” where n is a number indicate thatthe index screens are associated with automatic indexes. On the otherhand, the name “Index n” where n is a number is a default nameindicating that the index screen is associated with a manual index.

As described above, an automatic index is appended during a recordingoperation while a manual index can be appended to any arbitrary locationon the source window 362 when the user operates typically an indexadding button 366a on a tool bar of a clip editor main window 362. Itshould be noted that the location corresponds to a position on the MPEGsystem screen limited to the head of the GOP in the case of a manualindex.

It is worth noting that, in an “Index” menu of the clip editor mainwindow 361, there is included a “Change to manual index” item which canbe clicked to change an automatic index to a manual index. Even if anautomatic index is changed to a manual index, the name of the indexscreen representing the automatic index remains unchanged as it is. Thatis to say, the name “Auto n” is not changed to the name “Index n”. Anautomatic index is changed to a manual index by inverting theidentification flag of the index.

In addition, the name of an index screen associated with an automaticindex appearing on the clip editor main window 361 is displayed in acolor different from the name of an index screen associated with amanual index. In this way, an index screen associated with an automaticindex and an index screen associated with a manual index can bedistinguished from each other with ease.

An automatic or manual index can be deleted by operating a delete button366B included in the tool bar of the clip editor main window 361.

At the bottom of the source window 362, a time line 363 used as a timeaxis is displayed. Typically, the left edge of an index screen coincideswith a corresponding point of time on the time line 363. It should benoted that the corresponding point of time on the time line 363 is atime at which the index screen is recorded with the start of therecording taken as a reference.

An index screen is basically the first frame of a scene change. Thus,frames from an index screen to a frame immediately preceding the nextindex screen basically constitute a scene. Therefore, the user iscapable of searching index screens for a desired one with ease.

When it is desired to confirm a picture after index screens have beendisplayed, a point on the time line 363 is dragged by using the mouse 22along the time line 363 over a desired range. By doing so, the tracedrange is denoted by the symbol R in FIG. 21 and the range R is taken asa playback range. Then, when a playback button 367 included in the toolbar of the clip editor main window 361 is clicked, for example, aplayback operation is carried out over the playback range R.

To put it in detail, in this case, the playback window 341 shown in FIG.15 is typically opened. Then, the MPEG1 software decoder 201A isexecuted to decode an MPEG system stream corresponding to the playbackrange R and display pictures resulting from the decoding on the picturedisplay area 342 of the playback window 341.

As a result, the user is capable of confirming a scene with ease.

The user looks at index screens and, if necessary, further confirms ascene to determine a scene to be used in editing. The user then clicksan edit point file creation button 368 included in the tool bar of theclip editor main window 361 to display an output window 369 beneath thesource window 362 on the clip editor main window 361 as shown in FIG.21.

After the output window 369 is displayed, the user traces a range on thetime line 363 in the source window 362 by dragging using the mouse 22.An index screen in the range is copied as a scene to a new clip. To putit in detail, an area on the source window 362 from an index screen atthe beginning of the traced range to a frame immediately preceding anindex screen immediately succeeding the traced range is the object to becopied to the new clip. On the time line 363 of the source window 362, astart mark 364L and an end mark 364R are displayed at positionscorresponding to the start and end points of the object to be copiedrespectively. A background on the source window 362 in the area taken asthe object to be copied and the traced range on the time line 363 aredisplayed in a color different from the rest.

The area is copied to the output window 369 by carrying out operationsas follows. When a cursor of the mouse 22 is moved to a position in thearea of the object to be copied and the mouse 22 is pressed and draggedfrom the position, the shape of the cursor is changed from typically ashape resembling an arrow to a shape symbolizing an index screen. Itshould be noted that the cursor itself is not shown in the figure. Withthe mouse 22 pressed as it is, the cursor is dragged to a position inthe output window 369. As the mouse 22 is released from the pressedstate, the index screen pointed to by the cursor is copied from thesource window 362 to the output window 369. In the embodiment shown inFIG. 21, a scene with an index screen named “Auto 0” serving as the headframe thereof and a scene with an index screen named “Auto 2” serving asthe head frame thereof have been copied from the source window 362 tothe output window 369.

It should be noted that, when an object to be copied is copied from thesource window 362 to the output window 369, all automatic indexes in theobject are deleted from the output window 369. In addition, if the headframe of an object copied has an appended automatic index, the automaticindex is changed to a manual index.

All automatic indexes in the copied object are deleted from the outputwindow 369 for the following reason. The video CD creator, one of theapplication programs of the Slipclip software, can be used to create avideo CD for recording scenes copied to the output window 369. When avideo CD is created by the video CD creator, an index conforming tovideo CD specifications is set at a location pointed to by each scenechange pointer recorded in the index file.

An automatic index is provided to help the user find a desired scenewith ease. Basically, a large number of automatic indexes are recorded.If the large number of automatic indexes are not deleted, they willremain in the video CD created by the video CD creator.

On the other hand, each automatic index of the head frame of an objectcopied to the output window 369 is changed to a manual index because ofthe following reason. The head frame of a copied object corresponds toan edit point. It is desirable to keep an index also for an edit pointin a video CD. If an automatic index of the head frame of an objectcopied to the output window 369 is not changed to a manual index, theautomatic index will be deleted. Thus, an automatic index of the headframe of an object copied to the output window 369 is changed to amanual index in order to prevent the automatic index from being deleted.

As a result, only manual index screens associated with manual indexesare displayed on the output window 369. If it is desired to leave anindex at the position of an automatic index, it is necessary to changethe automatic index to a manual index in the way described earlierbefore copying an object to the output window 369.

It should be noted that an automatic index can be prevented from beingdeleted even if an object including the automatic object is copied tothe output window 369. In addition, it is also possible to prevent anautomatic index of the head frame of an object copied to the outputwindow 369 from being changed to a manual index.

As described above, the user is capable of copying a desired scene tothe output window 369. In addition, since the user is also capable ofmoving, deleting and rearranging scenes copied to the output window 369,the user is allowed to carry out editing by doing such work ifnecessary.

Then after desired scenes are rearranged in a desired order on theoutput window 369, it may be desired to newly create a clip for storingthe rearranged scenes. In this case, a build start button 370 includedin the tool bar of the clip editor window 361 is typically operated tocreate such a new clip.

When the build start button 370 is operated, the microprocessor 201reads out encoded data of the desired scenes laid out on the outputwindow 369 from the MPEG file by referring to the index file. Afternecessary processing is carried out for each junction point (or editpoint) with elementary data (or an elementary stream) of the encodeddata read out from the MPEG file used as it is, only system encoding isperformed again. Results of the encoding are stored in the hard disc 212as a new MPEG file.

It should be noted that, at the same time, an new index file for indexscreens displayed on the output window 369 is also created. It isobvious from the above description that the new index file will includeonly manual indexes and include no automatic indexes. The new index fileand the newly created MPEG file are stored in the hard disc 212 as a newclip.

As described above, index screens associated with automatic indexesstored in the index file are displayed on the source window 362. A largenumber of index screens separated away from each other by not so largeintervals may thus be displayed on the source window 362, adverselyforming a hindrance to a search carried out by the user for a desiredscene.

In order to solve the problem described above, in this embodiment, indexscreens associated with automatic indexes stored in the index file canbe displayed on the source window 362 conditionally. That is to say,only index screens satisfying a certain condition are displayed on thesource window 362. For the sake of convenience, such a condition isreferred to hereafter as a display condition.

FIG. 22 is a diagram showing an index display level setting dialog box381 used by the user for setting a display condition.

It should be noted that the index display level setting dialog box 381can be displayed typically by clicking an “Index display level setting”item in a “Display” menu of the clip editor main window 361 shown inFIG. 21.

A “display all” field 382 on the index display level setting dialog box381 is specified by being clicked to set a display condition whichstipulates that index screens associated with all automatic indexesrecorded in an index file be displayed. A level field 383 is specifiedby being clicked to set a display condition which stipulates that onlyindex screens associated with automatic indexes with the scene changeparameters thereof exceeding a predetermined threshold value bedisplayed on the source window 362. The threshold value is entered bythe user to a threshold value input field 383A.

A screen count field 384 is specified by being clicked to set a displaycondition which stipulates that only up to a specified number of indexscreens associated with automatic indexes having large scene changeparameters be displayed on the source window 362 with automatic indexeshaving large scene change parameters given high priority. The maximumnumber of index screens is specified by the user to a “maximum number ofscreens to be displayed” field 385.

A maximum level display field 386 is specified by being clicked to set adisplay condition which stipulates that only an index screen associatedwith an automatic index having the largest scene change parameter ineach of intervals be displayed on the source window 362. The length ofeach interval is entered by the user to time interval input fields 387.

When one of the display conditions described above is selected, thenumber of automatic indexes to be displayed under the selected conditionand the total number of all automatic indexes recorded in the index fileare displayed on a “Number of displayed indexes/Total number of allindexes” field 388.

It should be noted that an OK button 389 is operated to confirm setitems newly entered to the index display level setting dialog box 381and to close the index display level setting dialog box 381. A cancelbutton 390 is operated to keep set items previously confirmed andentered to the index display level setting dialog box 381 and to closethe index display level setting dialog box 381. A help button 391 isoperated to display explanations for helping the user understand theindex display level setting dialog box 381.

Thus, only index screens associated with automatic indexes stored in theindex file are displayed on the source window 362 shown in FIG. 21 inaccordance with a display condition set by using the index display levelsetting dialog box 381 as described above.

FIG. 23 shows a flowchart representing an index screen displayingprocess to display index screens on the source window 362 conditionally.As shown in the figure, the flowchart begins with a step S61 to form ajudgment as to whether or not the “display all” field 382 is selected.If the “display all” field 382 is found selected, the flow of theprocess goes on to a step S62 at which index screens associated with allautomatic indexes recorded in an index file are displayed on the sourcewindow 362 and the process is finished.

If the outcome of the judgment formed at the step S61 indicates that the“display all” field 382 is not selected, on the other hand, the flow ofthe process goes on to a step S63 to form a judgment as to whether ornot the level field 383 is selected. If the level field 383 is foundselected, the flow of the process goes on to a step S64 at which theindex file is searched for automatic indexes with the scene changeparameters thereof exceeding a predetermined threshold value entered tothe threshold value input field 383A. The flow then proceeds to a stepS68 at which only index screens associated with the automatic indexesfound in the search are displayed on the source window 362. The processis then finished.

If the outcome of the judgment formed at the step S63 indicates that the“level” field 383 is not selected, on the other hand, the flow of theprocess goes on to a step S65 to form a judgment as to whether or notthe screen count field 384 is selected. If the screen count field 384 isfound selected, the flow of the process goes on to a step S66 at whichthe index file is searched for n automatic indexes having largest scenechange parameters where n is a number specified in the “maximum numberof screens to be displayed” field 385. The flow then proceeds to thestep S68 at which only index screens associated with the n automaticindexes found in the search are displayed on the source window 362. Theprocess is then finished.

If the outcome of the judgment formed at the step S65 indicates that thescreen count field 384 is not selected, that is, neither the “displayall” field 382, the level field 383 nor the screen count field 384 isselected or, in other words, the maximum level display field 386 isspecified, on the other hand, the flow of the process goes on to a stepS67 at which the index file is searched for an automatic index having alargest scene change parameter in each of intervals where the length ofeach interval has been entered by the user to time interval input fields387. The flow then proceeds to the step S68 at which only index screensassociated with the automatic indexes found in the search are displayedon the source window 362. The process is then finished.

As described above, since the number of index screens displayed on thesource window 362 can be limited by, among other things, the magnitudesof scene change parameters, the user is capable of finding a desiredscene with ease.

In this embodiment, with the level field 383 selected, the thresholdvalue of the scene change parameter which is normally specified by theuser in a threshold value input field 383A can be changed withoutre-opening the index display level dialog box 381. That is to say, thethreshold value can be changed by operating a down button 365A or an upbutton 365B of the tool bar of the clip editor main window 361 shown inFIG. 21. To be more specific, each time the down button 365A isoperated, the scene change parameter is decremented by 1. As a result,the number of displayed index screens increases due to a smallerthreshold value. Each time the up button 365B is operated, on the otherhand, the scene change parameter is incremented by 1. As a result, thenumber of displayed index screens decreases due to a larger thresholdvalue.

As described above, the number of index screens each associated with anautomatic index is limited by a display condition. It should be notedthat such limitation also can be applied to manual indexes as well.

Assume that a clip (or a tape) is created by using the slip recorder andthe clip is edited by using the clip editor to give a new clip. Thenumber of clips thus increases. If there are a number of clips, it willbe difficult to identify the contents of each of the clips from the filenames of the clips only. In order to solve this problem Slipclipincludes an application program called the clip viewer.

When the clip viewer is activated, a clip viewer main window 401 likeone shown in FIG. 24 is displayed.

As shown in the figure, the clip viewer main window 401 includes a clipview 402 a showing representative screen of each clip cataloged in aclip collection.

A clip collection is a folder used for classifying clippers. Arepresentative scene of a clip is one of screens composing the clip. Bydefault, the first screen of a clip is the representative screen of theclip. The representative screen of a clip can be changed from thedefault screen, that is, the first screen, to another screen of the sameclip.

On a tab 402A, names assigned to clip collections are displayed. Thus,in this embodiment, 3 folders exists each as a clip collection. Thenames assigned to the 3 clip collections are “Summer Travels”, “SkiTournament” and “Christmas”. It should be noted that a clip collectionis selected by clicking the name on the tab 402A assigned to the clipcollection. When a clip collection is selected, representative screensof clips cataloged in the selected clip collection are displayed on theclip view 402. In the embodiment shown in FIG. 24, a clip collectionnamed “Summer Travel” has been selected and representative screens of 3clips cataloged in the clip collection named “Summer Travel” aredisplayed on the clip view 402.

When one of the representative screens displayed on the clip view 402 isclicked, index screens of a clip represented by the clickedrepresentative screen are displayed on an index view 403.

On a picture display area 404, on the other hand, played back picturesof the clip r presented by the clicked representative screen on the clipview 402 are displayed. At the same time, the title of the cliprepresented by the clicked representative screen on t e clip view 402 isdisplayed on a title field 405. T at is to say, with the clip viewer,each clip can be give a title which is displayed on the title field 405.

A stop button 406, a playback button 407, a pause button 408, skipbuttons 409 and 410, index buttons 411 and 412, a slider 414, a framefeed but ton 415 and a slow playback button 416 have the same functionsas the stop button 346, the playback button 347 the pause button 348,the skip buttons 349 and 350, the index buttons 351 and 352, the slider354, the frame feed button 355 and the slow playback button 356 of theplayback window 341 shown in. FIG. 15 respectively.

A full screen button 413 is operated to display the screen display area404 on the full screen. An explanatory description of a clip selectedfrom those displayed on the clip view 402 is displayed on a descriptionfield 417. That is to say, with the clip viewer, each clip can beexplained by a description which is displayed on the description field417.

As described above, in this embodiment, pictures are encoded andcompressed and code resulting from the encoding and compression is thenrecorded. It should be noted, however, that the above description is notintended to be construed in a limiting sense. That is to say, the scopeof the present invention is not limited to such an embodiment. Forexample, the present invention can be applied to an application whereinpictures are recorded as they are without being encoded. However,whether or not a slip playback function can be executed much depends onthe transfer speed and the head seek time of the hard disc 212 and theamount of data to be recorded or the data rate.

To put it in detail, for example, consider a hard disc 212 with atransfer rate of 4 Mbps and a head seek time of 20 ms as is the case ofthe embodiment described above.

Assume that, in recording and playback operations, the amount of dataper frame is the same as the “Normal” video recording mode and considera transfer of 15 frames or 1,856 KB as computed before. The length oftime it takes to write or read out 1,856 KB picture data into or fromthe hard disc 212 is about 453 ms (=1,856 KB/4×1,024 [KB/sec]). Takingthe 20 ms head seek time into consideration, the write and read timesare both about 473 ms. In order to carry out operations to read out andwrite picture data of 15 frames concurrently, it takes about 946 ms(=473 ms+473 ms) which exceeds a period of time of about 0.5 seconds, aperiod corresponding to 15 frames at a frame rate of 30 frames persecond as described previously. Thus, the operations can not be carriedout concurrently during the 0.5 sec period of time.

Consider now a “Long” video recording mode in place of “Normal” with theother conditions in the read and write operations remaining unchanged.In this case, the amount of picture data of 15 frames is 394 KB. Thelength of time it takes to write or read out 394 KB picture data into orfrom the hard disc 212 is about 96.2 ms (=394 KB/4×1,024 [KB/sec]).Taking the 20 ms head seek time into consideration, the write and readtimes are both about 116.2 ms. In order to carry out operations to readout and write picture data of 15 frames concurrently, it takes about1232.4 ms (=116.2 ms+116.2 ms) which is shorter than a period of time ofabout 0.5 seconds, a period corresponding to 15 frames at a frame rateof 30 frames per second as described previously. Thus, the operationscan be carried out concurrently during the 0.5 sec period of time.

As described above, in the embodiment, picture data is subjected toencoding conforming to MPEG1 specifications, one of fixed rate encodingtechniques. It should be noted, however, that the technique of encodingpicture data is not limited to the encoding conforming to the MPEG1specifications. As a matter of fact, picture data can be encoded at avariable rate. With picture data encoded at a variable rate, however, itis difficult to detect the location at which encoded data is recordedfrom the number of bytes representing an offset relative to a recordingstart position in processing such as a slip playback operation.

Also as described above, in the embodiment, a slip playback operation iscarried out to reproduce pictures and their accompanying sound. It isworth noting, however, that a slip playback operation can also becarried out to reproduce other data. By the same token, a tape can beallocated for recording data other than pictures and sound.

According to a picture processing apparatus claimed as claim 1 and apicture processing method claim as claim 9, a scene change parameterrepresenting a degree of a scene change in a picture is computed; andthe scene change parameter and position information on a position of thepicture with a degree of a scene change thereof represented by the scenechange parameter are recorded by associating the scene change parameterwith the position information.

In addition, a recording medium according to claim 10 is used forstoring a program to let a computer process a picture wherein theprogram prescribes a picture processing method comprising the steps of:computing a scene change parameter representing a degree of a scenechange in the picture; and recording the scene change parameter andposition information on a position of the picture with a degree of ascene change thereof represented by the scene change parameter byassociating the scene change parameter with the position information.Furthermore, a recording medium according to claim 11 is used forstoring data obtained as a result of processing a picture in addition toa scene change parameter and position information on a position of thepicture with a degree of a scene change thereof represented by the scenechange parameter by associating the scene change parameter with theposition information.

As a result, a desired scene can be found with ease.

What is claimed is:
 1. A picture processing apparatus for processing apicture comprising: a computing means for computing a scene changeparameter representing a degree of a scene change in said picture; arecording means for recording said scene change parameter and positioninformation indicating a position at which a scene change occurs with adegree of a scene change thereof represented by said scene changeparameter by associating said scene change parameter with said positioninformation; a scene change parameter count setting means for setting ascene change parameter count; and a display means for displaying screensof said pictures at positions indicated by pieces of said positioninformation associated with said scene change parameters representinghighest degrees of scene changes wherein the number of screens to bedisplayed does not exceed said scene change parameter count set by usingsaid scene change parameter count setting means.
 2. A picture processingapparatus for processing a picture comprising: a computing means forcomputing a scene change parameter representing a degree of a scenechange in said picture; a recording means for recording said scenechange parameter and position information indicating a position at whicha scene change occurs with a degree of a scene change thereofrepresented by said scene change parameter by associating said scenechange parameter with said position information; a range setting meansfor setting a range to be searched for a scene change parameterrepresenting a highest degree of a scene change among scene changes insaid range; and a display means for searching each range set by saidrange setting means for a specific scene change parameter representing ahighest degree of a scene change among scene changes in said range anddisplaying a screen of said picture at a position indicated by saidposition information associated with said specific scene changeparameter.
 3. A picture processing method for processing a picturecomprising the steps of: computing a scene change parameter representinga degree of a scene change in said picture; recording said scene changeparameter and position information indicating a position at which ascene change occurs with a degree of a scene change thereof representedby said scene change parameter by associating said scene changeparameter with said position information; setting a scene changeparameter count; and displaying screens of said pictures at positionsindicated by pieces of said position information associated with saidscene change parameters representing highest degrees of scene changeswherein the number of screens to be displayed does not exceed said scenechange parameter count set by using said scene change parameter countsetting means.
 4. A recording medium for storing a program to cause acomputer to process a picture, wherein said program prescribes a pictureprocessing method comprising the steps of: computing a scene changeparameter representing a degree of a scene change in said picture;recording said scene change parameter and position informationindicating a position at which a scene change occurs with a degree of ascene change thereof represented by said scene change parameter byassociating said scene change parameter with said position information;setting a scene change parameter count; and displaying screens of saidpictures at positions indicated by pieces of said position informationassociated with said scene change parameters representing highestdegrees of scene changes wherein the number of screens to be displayeddoes not exceed said scene change parameter count set by using saidscene change parameter count setting means.